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