Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [PHP] utenti online

  1. #1

    [PHP] utenti online

    Salve raga,
    mi serve un meccanismo per tenere traccia dei miei utenti online che non sia un iframe che ricarica ogni n secondi una pagina che effettua il controllo...

    potrei creare una tabella...
    inserisco un record quando l'utente si logga
    cancello il record quando l'utente fa logout
    ma se l'utente non scatena l'evento logout perchè ad esempio cade la connessione?
    ho pensato di associare un timeout...
    ogni utente ha un timeout che deve essere controllato... se lo scarto tra timeout attuale e timeout utente è maggiore di 5 minuti elimino il record dalla tabella
    ma chi effettua questo controllo periodicamente?
    come faccio in php a creare un oggetto che effettua periodicamente un'operazione?

    Consigli?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    121
    In php non puoi creare un oggetto che effettua periodicamente un'operazione, semplicemente, nel caso in cui tu voglia utilizzare una tabella degli accessi in un database, all'interno della pagina aggiungi una query che seleziona gli utenti connessi negli ultimi 5 minuti e automaticamente ogni volta che verrà aperta la pagina l'utente avrà risultati aggiornati.
    Per comporre la query ti consiglio di usare le funzioni di php per le date per rendere l'esecuzione della query più veloce, per esempio potresti fare:

    $data_odierna=getdate();
    $data_passata=date("d.m.Y H i s", mktime ($data_odierna['hours'],$data_odierna['minutes']-5,$data_odierna['seconds'],$data_odierna['mon'],$data_odierna['mday'],$data_odierna['year']));

    $query="SELECT * FROM UTENTI WHERE DATA_INGRESSO > '". $data_passata."'";

    altrimenti per visualizzare i risultati in tempo reale dovresti utilizzare l'oggetto XmlHttpRequest di javascript ed interrogare il database periodicamente tramite un timer ma le cose si fanno un po' più complesse

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 © 2024 vBulletin Solutions, Inc. All rights reserved.