Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163

    dubbio funzionamento Chi è online ,guida HTML

    ciao! ho preso uno script da una guida di HTML.
    http://php.html.it/articoli/leggi/30...ine-con-php/2/
    dovrebbe inserire un record a ogni accesso al sito,e visualizzare il numero di record.codice:
    Codice PHP:
         @session_start();
        
    $sessione=@session_id();
        
    $time=@time();
        
    $intervallo=$time-300;

        
    $sql_confronto="SELECT * FROM users WHERE Session='$sessione'";
        
    $res_confronto=@mysql_query($sql_confronto) or die(mysql_error());

        if(@
    mysql_num_rows($res_confronto)==0){
            
    $sql_inserimento="INSERT INTO users(Session, Time)VALUES('$sessione', '$time')";
            
    $res_inserimento=@mysql_query($sql_inserimento) or die(mysql_error());
        }
        else {
            
    $sql_aggiornamento="UPDATE users SET Time='$time' WHERE Session = '$sessione'";
            
    $res_aggiornamento=@mysql_query($sql_aggiornamento) or die(mysql_error());
        }

        
    $sql_conteggio="SELECT IDvisit FROM moduli_users";
        
    $res_conteggio=@mysql_query($sql_conteggio) or die(mysql_error());
        
    $conteggio=@mysql_num_rows($res_conteggio);

            
    $onlineUser "Utenti connessi: ".$conteggio.". "
         
        
    $sql_cancellazione="DELETE FROM moduli_users WHERE Time<$intervallo";
        
    $res_cancellazione=@mysql_query($sql_cancellazione) or die(mysql_error()); 
    mi dice che c'è 1 utente connesso,ma nel database la tabella per il conteggio è vuota!
    funziona tutto correttamente o c'è qualche errore?

  2. #2
    Anche se non sono ancora arrivato al Mysql non credo possa essere normale se non hai creato ancora la tabella....

  3. #3

    Re: dubbio funzionamento Chi è online ,guida HTML

    Originariamente inviato da nephilim89

    mi dice che c'è 1 utente connesso,ma nel database la tabella per il conteggio è vuota!
    funziona tutto correttamente o c'è qualche errore?
    Hai un errore di forma o meglio dire un bug. Ma anche una discutibile progettazione.

    Prima conti i record e poi cancelli quelli scaduti. Dovresti fare il contrario: cancellare gli scaduti e contare i rimanenti validi.

    La discutibile progettazione e' che non hai la possibilita' di sapere quanti sono ancora online sulla stessa pagina anche se scaduta nel tuo db. Se l'utente rimane li oltre i 300 secondi programmati lui sara' ancora onl ma nel tuo db potrebbe risultare cancellato dal time-out.

    Poi l'utilizzo a tappeto dell' @ per controllo errori denota una programmazione molto primitiva.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    La discutibile progettazione e' che non hai la possibilita' di sapere quanti sono ancora online sulla stessa pagina anche se scaduta nel tuo db. Se l'utente rimane li oltre i 300 secondi programmati lui sara' ancora onl ma nel tuo db potrebbe risultare cancellato dal time-out.
    lo script in teoria non dovrebbe venire rieseguito ogni volta che l'utente apre una pagina del sito?


    mi sono dimenticato di dire che sono in locale

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163
    ho messo prima la cancellazione dei record e poi il conteggio.ora mi viene memorizzato il record nel db.ma non posso verificare se funziona correttamente essendo in locale..

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.