Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]logi do bazy danych
Forum PHP.pl > Forum > Przedszkole
Rozpalacz
Witam,

potrzebuję zrobić logi do wszelkich zmian dokonywanych na bazie danych (MySQL) przez użytkowników.

W jaki sposób zapisywać takie logi? Każde wywołanie zapytania?
Jak najlepiej przechowywać takie logi (pliki, baza)?
Co przechowywać w logach (co sie może przydać o czym jeszcze nie wiem - IP, data_czas, same zapytania czy je jakoś przetwarzać)?
Jeśli użytkownik rejestruje się, to czy od razu robić LOG ze wszystkimi wpisanymi informacjami? czy za każdym razem sprawdzać tylko czy sie coś zmieniło?
Pitter
Ja bym to zrobił w bazie danych, chociaż w wielu cms jest to zrobione na plikach. Co powinien zawierać log?
Moim zdaniem:
- funkcja dokonana (np. edycja newsa id 5)
- data, czas
- ip
- login
chyba tyle.
Jak je zapisywać.
Musimy stworzyć funkcję o nazwie przykładowej AddLog('news','edit','5');
Ja bym ją zrobił tak:
  1. <?php
  2. //w panelu admina po wykonaniu każdego zapytania np. edycji newsa dodaje funkcję
  3. AddLog($op,$cmd,$id);
  4.  
  5. function AddLog($op,$cmd,$id)
  6. {
  7. $login = $_SESSION['login'];
  8. $ip = $_SERVER['REMOTE_ADDR'];
  9.  
  10. $query = "INSERT INTO logi VALUES('$id','$op','$cmd','$login','$ip',now())";
  11. $result = mysql_query($result);
  12. }
  13. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.