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

    pagina che stampa gli user collegati

    Allora, ho creato un form per la registrazione degli utenti, uno per il login e uno per il logout su database Mysql e funziona tutto perfetto. Al momento del login se i dati sono corretti mi porta sull' index.php, dove mi esce che sono collegato con il nick "nickkk" e mi stà benissimo. Ora vorrei solo che mi stampasse a destra una colonna con all' interno gli user online, e quando premo il logout ovviamente lo cancella dalla lista.

  2. #2
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Ciao. Puoi creare nel database un campo chiamato ad esempio "lastaction" di tipo intero unsigned. Poi in ogni pagina visitata dall'utente salvi in quel campo del db il timestamp attuale.
    Puoi visualizzare a destra gli utenti che hanno visitato il sito da meno di 5 minuti ad esempio, basta che con una query selezioni gli utenti il cui valore lastaction sia maggiore del timestamp attuale meno 5 minuti.

    Se hai bisogno posso scriverti qualche pezzo di codice di esempio.


  3. #3
    Si Grazie. Gentilissimo!

  4. #4
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    In ogni pagina memorizzi il momento in cui l'utente ha visitato il sito, con una query del tipo:
    Codice PHP:
    // supposto che la tabella si chiami 'utenti' e il numero di ognuno sia 'id'...
    // memorizzo il timestamp attuale
    $sql "UPDATE utenti SET lastaction=".time()." WHERE id=".$idutente;
    mysql_query($sql); 
    Per selezionare dal database gli utenti che hanno visitato il sito da meno di 5 minuti puoi fare una cosa del genere:
    Codice PHP:
    // imposto l'intervallo massimo dall'ultima visita affinchè l'utente venga considerato online
    $intervallo 300// si misura in secondi, quindi 5 minuti sono 5*60 secondi

    $ora time(); // timestamp attuale

    // eseguo la query di selezione
    $sql "SELECT * FROM utenti WHERE lastaction>".($ora-$intervallo);
    $query mysql_query($sql);

    // ottengo il numero degli utenti online
    $totale mysql_num_rows($query);

    echo 
    "Attualmente ci sono ".$totale." utenti online:

    "
    ;

    // estraggo i dati degli utenti online in un array e con un ciclo li mostro
    while ($dati mysql_fetch_array($query)) {
        echo 
    $dati['nome'].'
    '
    // mostro il nome dell'utente

    Se non hai capito qualche passaggio chiedi pure.

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.