Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    102

    Come fa questo forum a sapere quali utenti sono online?


  2. #2
    durante la fase di login segna qualche valore nel database (tipo l'ora di connessione e/o di ultima azione tra le pagine) poi si controlla se quel valore è inferiore all'ora attuale di tipo 15 minuti allora ti segna online

    tutto tramite database comunque

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    102
    Sei sicuro che il metodo sia questo ?
    A me sembra poco realistico... anzi, una presa in giro...
    Forse funzionerebbe meglio con un intervallo minore...

  4. #4
    Viene memorizzata la data (data+ora) dell'ultima azione eseguita e confrontata con la data (data+ora) attuale.

    Se l'intervallo di inattività è più grande di TOT tempo l'utente viene segnalato come offline.
    Administrator of NAMDesign.Net

  5. #5
    Mi riattacco a questo post, tra quelli che ho letto senza venirne a capo.
    Come si fa a cambiare un record (data-ora) ad ogni azione dell'utente? Forse ogni pagina dovrebbe avere in cima una query che modifica il record!... ma non è un po' macchinoso?

    Tempo fa avevo letto un post su questo forum dove qualcuno indicava come si può scrivere su file l'elenco degli utenti loggati, cancellandoli dall'elenco anche quando chiudono la finestra del browser, cosa che non sembra possibile fare con un record del database. Non lo trovo più

    Comunque io uso le sessioni per il login e vorrei avere un elenco dei loggati, non so quale sia il modo più razionale di procedere. Consigli?

  6. #6
    Tutti i principali forum utilizzano un database.
    Nella tabella del database relativa agli utenti, in genere, c'è anche un campo "ultima attività" che viene aggiornato ogni volta che un utente fa una richiesta.

    Tramite quel campo si contano il numero di utenti la cui "ultima attività" risale a non più di X minuti fa.
    Administrator of NAMDesign.Net

  7. #7
    Questo se da un lato è un procedimento abbastanza semplice, nel mio caso comporta almeno due problemi.

    Il primo è appunto che dovrei aggiungere una query in testa a tutte le pagine del forum, ma forse si può anche scrivere su una pagina a parte che viene inclusa in testa alle pagine, abbreviando l'eventuale lavoro di modifica alla query per esempio se si vuole variare il tempo di scadenza.

    Il secondo è più difficile da risolvere, perchè utilizzando le sessioni per il login non riesco a controllare esattamente il tempo di scadenza delle stesse, di conseguenza posso ritrovarmi nell'elenco dei loggati utenti disconnessi o viceversa, a seconda di quanto gli dura la sessione.
    Il motivo per cui non riesco a determinare il tempo di durata della sessione è qui:

    http://forum.html.it/forum/showthrea...readid=1260163

    Comunque in teoria settando ini_set ('session.gc_maxlifetime', '3600'); il tempo di inattività da verificare dovrebbe essere 3600 secondi. Io ci provo...

  8. #8
    guarda questi meccanismi non sono nati con l'intento di determinare realmente con precisione in questo istante quante persone sono online ma bensi vogliono approssimare questo valore.

    Quando nei forum è scritto che ci sono 100 persone online non necessariamente sono realmente 100, ne possono essere anche 70 o nel caso ipotetico anche 0 se in realtà nessuno è vicino al pc ed il tempo limite non è stato ancora raggiunto.

    L'importante è non focalizzarsi troppo sui dettagli di questo problema perchè la cifra è per sua natura indicativa.

    Se poi magari la X di prima è uguale alla durata della sessione è meglio perchè puoi avere stime più realistiche. Ovvio che se la sessione dura 1 minuto e tu hai messo X = 1 giorno....il risultato è totalmente sballato.
    Administrator of NAMDesign.Net

  9. #9
    Eh eh, sarà quello che succederà visto che non riesco ancora a capire come mai
    ini_set ('session.gc_maxlifetime', '3600');
    sembra non avere alcuna influenza sulla durata della sessione.
    Ma anche se il risultato è approssimativo va bene lo stesso, come dici.
    Ciao.

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Se sei in hosting non hai nessuna possibilità di influire sulla durata della sessione, a meno che tu non utilizzi una directory separata, soltanto tua, per le tue sessioni (ma bisogna vedere se è possibile), oppure non utilizzi un sistema di memorizzazione alternativo, ad esempio su database.

    Attento al 3d che hai postato, ci sono delle inesattezze, come ti eri già accorto di persona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.