- Home
- Categorie
- Coding e Sistemistica
- PHP
- Utenti loggati online/offline
-
.... e se resto loggato per più di 30min. sulla stessa pagina ? Il sistema lo scollega ma ingiustamente !!
-
Beh è normale... mica puoi sapere che cosa fa l'utente... puoi sapere lo stato solo dalle richieste che fa al tuo server...
PS chi rimane 1 ora sulla stessa pagina?
-
Per evitare questo problema, utilizza JS per fare richieste asincrone ad una pagina che ha il compito di eseguire il refresh dello stato.
-
@Sups said:
Per evitare questo problema, utilizza JS per fare richieste asincrone ad una pagina che ha il compito di eseguire il refresh dello stato.
ehm approfindiamo l'argomento spiegati meglio JS lo conosco ma cosa intendi per richiesta asincrona ? Parli di Ajax ... ? O puro JS ?:)
thanks
-
Se devi fare richieste asicrone con JS si deve usare AJAX, in particolare l'oggetto XmlHttpRequest.
-
@Sups said:
Se devi fare richieste asicrone con JS si deve usare AJAX, in particolare l'oggetto XmlHttpRequest.
si si ok io per fortuna ho un pò di Jquery nelle pagine quindi usare Ajax è una bazzecola, ma fammi capire come conciliare il tutto per lo scopo ... di capire se un utente loggato è ancora online o meno ....
thanks
-
Nel DB inserisci la data e ora del login o dell'ultimo accesso effettuato ad una pagina del sito e ad ogni pagina web inserisci una funzione ajax che ogni tot minuti, esempio 10, aggiorna lo stato dell'utente.
Quando vuoi sapere lo stato di un utente, esegui una query sull'ora dell'ultimo accesso, verifichi la differenza di tempo ed elabori una risposta.Es:
Ora Corrente: 11.00
Ora Accesso: 11.05 // Stato: Connesso
Ora Accesso: 11.20 // Stato: Idle
Ora Accesso: 11.30 // Stato: Disonnesso
-
Es:
Ora Corrente: 11.00
Ora Accesso: 11.05 // Stato: Connesso
Ora Accesso: 11.20 // Stato: Idle
Ora Accesso: 11.30 // Stato: Disonnessommm....:? scusami Sups se alle 11:00 faccio il login ... alle 11.05;11.20;11.30 cosa accade ? Si tratta di 3 accessi ? Se sì perchè alle 11.30 è disconnesso ?:(
scusa ma non sono abituato a queste procedure temporali ...
-
Ho sbagliato con gli orari, le ore di accesso dovevano essere 10.05 ecc...
Comunque, adesso ti faccio un esempio in pseudo-codice.- L'utente "mario" fa il login e visita una pagina del sito alle 10.00
UPDATE utenti SET ultima_visita='10.00' WHERE nome='mario'
-
L'utente "mario" abbandona il sito senza fare logout alle 10.05
-
Verifico se "mario" è ancora in linea alle 11.00
ora_attuale = get(ora);
ultima_visita = get("SELECT ora_attuale FROM utenti WHERE nome='mario'");differenza = ora_attuale - ultima_visita;
if(differenza = "5 minuti") return("Connesso");
if(differenza = "20 minuti") return("Idle");
if(differenza = "30 minuti") return("Disconnesso");
-
@Sups said:
Ho sbagliato con gli orari, le ore di accesso dovevano essere 10.05 ecc...
Comunque, adesso ti faccio un esempio in pseudo-codice.- L'utente "mario" fa il login e visita una pagina del sito alle 10.00
UPDATE utenti SET ultima_visita='10.00' WHERE nome='mario'
-
L'utente "mario" abbandona il sito senza fare logout alle 10.05
-
Verifico se "mario" è ancora in linea alle 11.00
ora_attuale = get(ora);
ultima_visita = get("SELECT ora_attuale FROM utenti WHERE nome='mario'");differenza = ora_attuale - ultima_visita;
if(differenza = "5 minuti") return("Connesso");
if(differenza = "20 minuti") return("Idle");
if(differenza = "30 minuti") return("Disconnesso");scusate ma questa cosa potrebbe essere fatta anche per la mia chat? sups, mi puoi aiutare, avevo aperto pure un topic a riguardo... sappiatemi dire, grazie.