controllare se un utente è ancora collegato.

megarospo

Utente Attivo
25 Set 2007
147
0
0
Ciao a tutti.
Come posso controllare se un id di sessione (e quindi un utente) è ancora collegato?
premetto queste specifiche:
N. Id registrato su database;
Non uso cookie. :book:
Ciao!!
 
Ti conviene creare un cella nel database in cui metti il timestamp attuale ogni N minuti ad esempio.
Poi non devi fare nient'altro che controllare se il time stamp attuale è maggiore di quello registrato + N minuti (ovviamente in secondi)
In sostanza
$a = prendo il valore dal database;
if(($a+120) < time()) { l'utente è collegato } else {non lo è piu}
 
mmm...
Pesavo che avendo l'id della sessione di un utente ci potesse essere una "funzione" che richiamandola verificasse se la sessione in esame fosse ancora attiva o no (true o false)
Esiste una funzione per questo scopo? Ho cercato ma non ho trovato nulla di diretto ed immediato. :book:
 
Sinceramente non penso che esista e nemmeno che sia possibile crearla..
Perché se non erro, le variabili di sessione vengono salvate nella /tmp del server, e rimosse però non quando l'utente distrugge la sessione (e se non fa il logout, ovvero non distrugge la sessione? se chiude il sito ma il browser no? la sessione rimane attiva, ma l'user non è on line effettivamente) ma quando non ci sono più richieste dal client al server con la relativa PHPSESSID.. (sempre se non erro eh xD)
Dunque secondo me, o fai così usando un database (che sia quel che ti pare, anche un file di testo va bene alla fine) oppure non ne ho idea :jolly:
 

Discussioni simili