- Home
- Categorie
- Coding e Sistemistica
- PHP
- Logout alla chiusura del browser
-
Non è necessario sai che l'utente X ha visto l'ultima pagina alle 16:05 adesso sono le 17:00 sai che sono passati X minuti quindi è offline.
-
Quindi sommare gli utenti che hanno il timestamp al massimo entro 10 minuti da ora darebbe una indicazione (non esattamente) precisa delle utente online in quel momento.
-
Si, è anche quello che fanno tutti i forum ad esempio.
-
Potreste farmi un esempio di codice ?
io non capisco il senso se effettuo l'aggiornamento su un utente specifico perchè uso le sessioni.
-
Dovresti memorizzare il timestamp dell'ultima pagina visita nel database ovviamente.
-
@Thedarkita said:
Dovresti memorizzare il timestamp dell'ultima pagina visita nel database ovviamente.
Di uno specifico utente però giusto ?
-
Si ogni volta aggiorni quello dell'utente loggato.
-
il funzionamento è semplicissimo proprio come ha spiegato Thedarkita. C'è una guida al link: [mtxweb.ch/php_learn/?p=396] di Maurizio Tacchini che utilizza la programmazione orientata agli oggetti (OOP) per eseguire il tutto, è molto più comodo visto che il codice lo dovresti implementare in ogni pagina del tuo sito. La guida si basa però sulla classe che permette all'utente di iscriversi al sito spiegata in un'altra sezione dello stesso autore. Credo che l'iscrizione tu l'abbia già fatta, quindi ti consiglio di prendere spunto dalle funzioni ben spiegate e fare un nuovo oggetto.
-
@Longo8 said:
il funzionamento è semplicissimo proprio come ha spiegato Thedarkita. C'è una guida al link: [mtxweb.ch/php_learn/?p=396] di Maurizio Tacchini che utilizza la programmazione orientata agli oggetti (OOP) per eseguire il tutto, è molto più comodo visto che il codice lo dovresti implementare in ogni pagina del tuo sito. La guida si basa però sulla classe che permette all'utente di iscriversi al sito spiegata in un'altra sezione dello stesso autore. Credo che l'iscrizione tu l'abbia già fatta, quindi ti consiglio di prendere spunto dalle funzioni ben spiegate e fare un nuovo oggetto.
Così dovrei imparare qualcosa della programmazione ad oggetti.. e non credo di aver tempo
-
ciao,
allora ti basta fare una pagina a parte in cui inserirai le due query:- aggiorna il timestamp dell'utente che sta navigando;
- inserisce UTENTE USCITO nel campo degli utenti il cui timestamp supera i (tot) minuti scelti da te.
online.php
[PHP]
//1)
$time = time();
$sql = "UPDATE utenti_online SET ora=$time WHERE id_utente='$_SESSION[id]'";
//esegui query//2)
$sec= 300; /* 300/60=5 l'utente verrà ritenuto online se non aggiorna una pagina per almeno 5 min
Inserisci quanti minuti vuoi esprimendoli in secondi */
$sql = "DELETE FROM utenti_online WHERE ora+$sec<$time";
//esegui query
[/PHP]N.B. La pagina online.php deve essere inclusa in tutte le pagine del tuo sito.