Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    logout e contatore di ospiti

    ho 2 domande da porvi, la prima è uno script che mi funziona così e così...in pratica voglio contare il n° degli utenti registrati online, ho creato nella tabella utenti un campo "connesso" che si imposta a 1 ogni qualvolta l'utente effettua il login e a 0 ogni qualvolta si effettua il logout...per far apparire gli utenti on-line ho creato una semplicissima query di tutti gli utenti con campo "connesso" a 1.
    Bene, detto ciò c'è un'imperfezione enorme. Ogni qual volta l'utente non effettua il logout e chiude la finestra del browser, il campo "connesso" rimane a 1 e quindi mi rimane memorizzato tra gli utenti connessi
    volevo sapere se esiste qualche funzione per far si che ogni qual volta l'utente chiude la finestra del browser si possa aggiornare la mia tabella mysql o meglio ancora se esiste un percorso logico più semplificato.

    Per la seconda domanda, invece, vorrei sapere come si fa a contare il n° degli ospiti connessi al mio sito

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    Prova a leggere questa pillola... potrebbe esserti utile:
    http://forum.html.it/forum/showthrea...postid=2105665
    No pvt per sollecitare risposte, grazie.

  3. #3
    entrambe le cose si fanno allo stesso modo:

    poihènon eesiste un'azione di chiusura del client che possa essere registrata dal server, utto si basaa su un meetodo statistico.. ovvero ad ogni utente associ l'istante (un timestamp) dell'ultima visita.. ad ogni pagina del sito aggiorni quest timestamp con quello corrente... in questo modo conosci in che istante un utente ha caricato pèeer l'ultima volta una nuova pagina. A questo punto puoi cnsiderare on-line chi ha caricato una pagina neegli ultimi 300 secondi (5 minuti) o altro intervallo a piacimeento. non è peerfetto, ma è verosimile ed è il meglio che si possa fare

    Trovi esempi a bizzeffe, sia sul forum che tra gli articoli


  4. #4

  5. #5
    ho utilizzato un altro metodo giusto per
    Vorrei capire perchè non mi funziona:

    questo è il codice (l'algoritmo dovrebbe effettuare il logout automatico quando sono passati 5 minuti dall'ultima visita)

    Codice PHP:
    //recupero l'username del tizio online
    $username=$_SESSION["username"];
                   
    //lo confronto con la tabella utenti
          
    $sel="SELECT * 
              FROM utenti 
            WHERE username='
    $username' ";
            
    $query=mysql_query($sel);
            
    $fetch=mysql_fetch_array($query);
                             
    //e recupero l'id
                 
    $userId=$fetcg["userId"];
                                           
    //dopodichè sempre dalla tabella utenti recupero l'ultima ora di connessione (ora, minuti, secondi)
                 
    $ora=explode(":",$fetch["ultimaVisitaOra"]);
                 
    $datavecchia=$ora[0].":".$ora[1].":".$ora[2];
                 
    $min=($ora[1]+'05');
                 
    $dataprossima='00'.":".$min.":".'00';
                 
    $datatot=$ora[0].":".$ora[1].":".$ora[2]+'00'.":".$min.":".'00';
                 if(
    $datavecchia>$datatot){
                
                
    $conn="SELECT * 
                   FROM utenti 
                 WHERE ultimaVisitaOra > '
    $datatot
                 AND username='
    $username' ";
                 
    $prova=mysql_query($conn);
                 
    $finale=mysql_fetch_array($prova);
                 if(
    $finale){ 
                 
    $upd="UPDATE utenti     
                         SET connesso=0
                         WHERE username='
    $username' ";
                         
    $que=mysql_query($upd);
                } 
    per cui dopo che passano i 5 minuti dall'ultima visita connesso dovrebbe passare a zero, ma non lo fa!

  6. #6
    beh... php funzina su un server web... e quindi funzina "a richiesta"... perchè quest script faccia qualcosa un client deve chiederne l'esecuzione... non puoi pretendere che giri tuto il tempo in background

    segui quanto ti abbiam detto ^_^

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.