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