+ Rispondi alla Discussione
Risultati da 1 a 6 di 6

come tenere traccia della chiusura delle sessioni

Ultimo Messaggio di figoso il:
  1. #1
    User
    Data 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. #2
    Utente Premium L'avatar di InuYaksa
    Data 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.


  3. #3
    Utente Premium L'avatar di InuYaksa
    Data 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.


  4. #4
    User
    Data Registrazione
    Sep 2006
    Messaggi
    86
    grazie per la risposta...però una volta che setti una variabile su session, come fai a controllare per tutte le sessioni aperte? non penso che esiste un comando per vedere tutti gli id delle sessioni aperte

  5. #5
    Utente Premium L'avatar di InuYaksa
    Data 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.

  6. #6
    User
    Data 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.

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.