Autor Zpráva
Hvizdal
Profil *
Opět zdravím,
prosím jak mám udělat nějaký jakoby admin log, který by byl ve formátu asi .txt a ukládali by se do něj všechny věci, které udělal administrátor? Potřeboval bych nějak alespoň nasměrovat, jak postupovat, protože vůbec netuším jak na to. Díky za pomoc.
mckay
Profil
Hvizdal:
Základ:
Funkce:
<?php
fopen();
fwrite();
fclose();
?>

Potom si napiš metodu nějaké logovací třídy (nebo pokud nejedeš přes oop, tak prostě jen funkci), kterou budeš volat v každém skriptu, a bude identifikovat co administrátor právě udělal.
Hvizdal
Profil *
OK, to je dobrý díky. Potřebuji to na zjištění třeba, když smaže příspěvek na fóru, aby se to tam zapsalo. A prosím nemohl bys to trošku rozvést do podrobněji? :)
mckay
Profil
Hvizdal:
Ok, dejme tomu, že máš skript smaz_prispevek.php a skript log.class.php

v log.class.php bude třída a metody/soubor funkcí a ty budeš používat pro logování.

Ve skriptu smaz_prispevek.php bude klasický skript, který ti smaže příspěvek na fóru. Ty teď přidáš do tohoto skriptu ještě část kódu, ve které použiješ tu metodu/funkci pro zalogování činnosti a to třeba takto:

<?php
//tady je všechen ten kod, potřebný pro odstranění postu


//a tady bude ta logovací část

$log->zapis_do_logu($jmeno_admina,$cas,$co_provedl); //tohle je objektově

zapis_do_logu($jmeno_admina,$cas,$co_provedl); //tohle je procedurálně

?>

Mimochodem, když už jsme u toho, doporučuji všemu dát v databázi logickou hodnotu deleted, třeba typu SET nebo ENUM, do množiny napiš " 'true','false' ", a když mažeš příspěvek, jenom updatuj tabulku a přenastav sloupec deleted na true. Tím si zaručíš, že žádné smazání není definitivní. Pokud máš strach, že by si časem zahltil databázi, nebo píšeš nějaké cms, přidej servisní skript, kterej smaže z databáze všechny příspěvky, které mají hodnotu deleted a zároveň jsou starší jak půl roku (třeba).
Hvizdal
Profil *
Ok, díky mooc. :) Pomohlo

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0