![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User
Data di registrazione: Sep 2006
Messaggi: 86
|
come tenere traccia della chiusura delle sessioni
ciao a tutti,
ho la necessità di sapere quando le sessioni degli utenti loggati al sito sono aperte e quando chiuse, in modo da tenere traccia sul db l inizio e la fine di una sessione. Cosi che tramiete query posso sapere quali utenti sono loggati al momento nel sito. Ovviamente l'inizio sessione è facile da settare...ma come si setta la fine??? |
|
|
|
|
|
|
|
#2 (permalink) |
|
Data di registrazione: Oct 2006
Messaggi: 119
|
Non ho mai fatto una cosa del genere... mai io proverei a testare l'oggetto $_SESSION con tutti gli ID che ritieni ancora validi.
Come fai a sapere se sono validi? Beh controlli su db quelli aperti e non ancora segnati come chiusi. Se non li trovi in $_SESSION vuol dire che PHP li ha chiusi. Tieni cmq presente che se non uccidi espressamete tu la sessione (ma si potrà fare con unset?) dovrai attendere il timeout prima di capire che l'utente se ne sia andato. ![]() |
|
__________________
php, tecnologia e comunicazione |
|
|
|
|
|
|
#3 (permalink) |
|
Data di registrazione: Oct 2006
Messaggi: 119
|
Ho scritto una cavolata...
![]() per recuperare una sessione devi usare session_id(<nome sessione>) Per sapere se una sessione è ancora valida puoi usare un trucco. Quando crei la sessione crei al suo interno una variabile che ti fa da segnale. Quando controlli se la sessione è ancora valida, devi verificare che esista ancora la variabile di prima. ![]() |
|
__________________
php, tecnologia e comunicazione |
|
|
|
|
|
|
#5 (permalink) |
|
Data di registrazione: Oct 2006
Messaggi: 119
|
Potresti seguire un flusso fatto così...
- session_id() valorizzato? sì, allora cerco se c'è nel db... ...non lo trovo allora nuova sessione, metto la variabile segnale in $_SESSION - ciclo tra gli id sessione su db ancora validi (su db), controllo se c'è la variabile... non la trovo allora segno su db sessione chiusa Un po' criptico, ma spero ti sia d'aiuto. |
|
__________________
php, tecnologia e comunicazione |
|
|
|
|
|
|
#6 (permalink) |
|
User
Data di registrazione: Sep 2006
Messaggi: 86
|
credo
credo di aver risolto in altro modo piu semplice. devi fare in modo che ogni volta che l'utente cambia pagina, si aggiorna il time nel db... ed ogni volta che aggiorni la pagina, devi far fare un controllo sul db ed eliminare tutti i record dove il time non viene aggiornato dopo tipo ( standard ) 15 minuti ... almeno questo è il metodo piu usato.
|
|
|
|