Acerca de php para obtener el número de personas en línea
global $tablepre, $db, $localtime;
// tiempo de espera
$outtime = $localtime - (60 * 15) ;
// Parámetros relacionados con el usuario
$uid = isset($_SESSION['s_userid']) ? intval($_SESSION['s_userid']) :
$ip = $_SERVER['REMOTE_ADDR'];
$sid = substr(md5($ip), 0, 5);
// Eliminar usuarios con el mismo IP
$usuario = $ db -> fetch_one_array("SELECT * FROM {$tablepre}onlineuser WHERE sid = '$sid' AND IP = '$ip' ");
if (!empty($user)) {
// Actualizar el estado actual del usuario
$db -> query("UPDATE {$tablepre}onlineuser SET uid = $uid, activetime = $localtime WHERE sid = '$sid' AND IP = '$ip' ");
} else {
// Escribe el estado actual del usuario
$db ->query("INSERT INTO {$tablepre}onlineuser (sid,uid,activetime,ip) VALORES ('$sid',$uid,$localtime,'$ip')");
}
// Eliminar usuario de tiempo de espera
$db -> query("DELETE FROM {$tablepre}onlineuser WHERE activetime < $outtime");
}
Campos de la base de datos: sid, uid, activetime, ip
Llamada fuera de la entrada del programa