Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [Php]Utenti connessi

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    106

    [Php]Utenti connessi

    come potrei realizzare uno script che conta gli utenti connessi al sito??
    grazie

  2. #2
    prova a fare una ricerca sul forum, è un argomento già trattato

    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    106
    ho cercato,per esempio ho trovato questo...
    Codice PHP:
    <?php
    /* Config MySQL */ 
    $mysql_host "localhost"
    $mysql_user "..."
    $mysql_pwd  "...."
    $mysql_db   "contatore"
    $mysql_port 3306;  
    $max_time   80;   

    /* Dont touch this */ 
    $db = @mysql_connect($mysql_host ":" $mysql_port,$mysql_user,$mysql_pwd
            or die (
    "Could not connect to MySQL server!"); 
    mysql_select_db($mysql_db,$db
            or die (
    "Could not select database " $mysql_db); 
    $tables_result mysql_list_tables($mysql_db); 
    $TABLE_EXISTS FALSE
    for (
    $c 0$c mysql_num_rows($tables_result); $c++) 
      if (
    mysql_tablename($tables_result,$c) == "users_online") { $TABLE_EXISTS TRUE; } 
    if (!
    $TABLE_EXISTS
      
    mysql_query("CREATE TABLE users_online (id INT NOT NULL auto_increment PRIMARY KEY, sess_id VARCHAR(100), time DATETIME)",$db); 
    session_start(); 
    $id session_id(); 
    $query mysql_query("SELECT * FROM users_online WHERE sess_id = '$id'",$db); 
    if (
    mysql_affected_rows() > 0
      
    mysql_query("UPDATE users_online SET time = now() WHERE sess_id = '$id'",$db); 
    else 
      
    mysql_query("INSERT INTO users_online VALUES(0,'$id',now())",$db); 
    $now date("U") - $max_time// $now = UNIX timestamp - $max_time 
    $now date("Y-m-d H:i:s",$now); 
    mysql_query("DELETE FROM users_online WHERE time < '$now'",$db); 
    $count_query mysql_query("SELECT COUNT(*) as TOTAL FROM users_online",$db); 
    $user_count  mysql_result($count_query,0,"TOTAL"); 
    echo 
    $user_count;
    ?>
    però mi sorge un dubbio in questo script gli utenti non più attivi vengono eliminati tramite ogni utente che entra,ma mettiamo caso che in un momento ci siano connesse 10 persone e poi dopo quelle 10 persone non entri più nessuno per un pò di tempo rimarrebbero 10 utenti connessi fino a quando nn entra la prossima persona,o sbaglio?
    grazie

  4. #4
    se lo script viene richiamato in ogni pagina, li aggiornerà ad ogni lettura di pagina, pertanto l'unica cosa che rimane è il tempo di timeout
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  5. #5
    Ci sono 10 utenti,si staccano e restano tutti nel database finche nn arriva,anche a distanza di una settimana un utente che apre la pagina e a quel punto lui controlla la data,se il timeout e scaduto cancella queli scaduti e aggiunge quello online e restituisce il valore.

    Dal punto di vista della visualizzazione sul sito è perfetta,da database poresti vedere sballato

    Io cmq lo uso sul mio sito e va na favola
    (Non è proprio quello ma simile)

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.