[PHP] Controllo Log e Modifiche Utenti

  • Creatore Discussione Creatore Discussione bubino8
  • Data di inizio Data di inizio

bubino8

Utente Attivo
28 Apr 2017
360
20
28
32
BZ
Buongiorno,

Vorrei creare un sistema di log del mio gestionale, in modo da poter vedere quando un dipendente o utente clicca, aggiunge, cancella o effettua modifiche.
Non per spiare :) ma per fare controlli su cosa viene modificato soprattutto.

Avete consigli su come cominciare?
Ho trovato un piccolo script che registra in un file .txt data ora utente e in che pagina si è spostato.

Conviene svilupparlo in php e mysql o adattare il file .txt


Grazie
Elia
 
ciao
non ho capito bene, vuoi fare un sistema che un tuo dipendene prima di accedere all'inserimento/modifica/eliminazione debba loggarsi (e cosa aggiunge/modifica/elimina?)?
comunque indipendentemente è molto più comodo e sicuro usare mysql
spega meglio quello che vorresti fare
 
Buongiorno,
Si uno script che vede gli spostamenti e i click (importanti)una volta effettuato il login.
Mi servirebbe ad esempio per verificare se viene cancellato/modificato un dato e vedere chi è l'ultimo ad averci messo mano e se possibile tenere la cronologia delle modifiche.

P.s: Click importanti intendo su conferma di una modifica o di una eliminazione.

Potrei aggiungere dei campi alle tabelle con la data e il nick dell'ultimo che ha confermato la modifica, ma in questo modo vedrei solo l'ultima mentre vorrei vedere tutte le vecchie modifiche.

Oppure dimmi se potrebbe andare
Creo un altra tabella ad esempio "registro" dove ogni click importante va a fare un'ulteriore query che registra i dati voluti da me.

Spero di essermi spiegato meglio

Grazie
Elia
 
ciao
ti do uno schema di come (almeno così ho capito) dovresti fare
per prima cosa dovresti crearti un tabella chiamata es. movimenti, simile a questa
Codice:
id int(12) autoincrement primarykey
nome varchar(100) not null
data date
cosa int(12)
tipo varchar(50)
dove l'id è l'id del record che si aggiornerà automaticamente
nome il nome del dipendento o il suo username (se hai un'anagrafica potrebbe essere il suo id)
data data dell'intervento, in automatico la prelevi con la funzione date("Y-m-d H:i:s")
cosa prelevi l'id di cosa il dipendente ha inserito, modificato o eliminato
tipo che azione ha eseguito

quando il dipendente si logga, almeno credo che dovrebbe essere così, dovrà inserire una password o un username o qualcosa che lo identifichi, passi questo qualcosa in sessione che poi userai per la tua tabella movimenti

sempre da quello che ho capito una volta loggato il dipendente seleziona un record da modificare e sceglierà l'azione da eseguire, dando poi l'ok
a questo punto dovresti avere tutti i dati per riempire la tua tabella, ti schematizzo uno schema di script fingendo che il dipendente faccia una modifica ad un record (per ins e del è uguale)
PHP:
<?php
//...........
$nome_dipendente=$_SESSION['dipendente']; //come detto ricavato dal log
$id_record_elaborato=$_POST['id'];//ho messo post, ma non so cosa sia, get ?
$tipo_modifica=$_POST['tipo'];//c.s., puo essere I o M o D o con testo esteso
//nome del/i campo/i da modificare e nuovo/i valere/i
//.....
if($tipo_modifica=="M"){
    //la query che andrà a modificare il record con l'id indicato -> $id_record_elaborato
    //.....
    //e ti costruisci la query per la tabella movimenti
    $quando=date("Y-m-d H:i:s");
    $query="INSERT INTO movimenti(nome, data, cosa, tipo) VALUES('$nome_dipendente','$quando', $id_record_elaborato,'$tipo_modifica')";
    //......
}
//.....
?>
poi sulla tabella movimenti potrai farci tutte le interrogazioni che ti servono
 
Ultima modifica:
Perfettissimo,
Si faccio eseguire il login quindi ho le sessioni con le informazioni del dipendente/user loggato.
Ci ero arrivato tardi alla tabella esterna, ma da questo spunto che mi hai fatto penso di riuscire nel mio intento.

Grazie ancora
 

Discussioni simili