免责声明:我很久以前就做过这样的事情,所以这是丑陋的旧代码(我不会在第一次开始编程时就努力使外观看起来更好/不是,因为这只是为了让您了解如何做到的,而不是随意输入任何特定代码)。
$timeout = time() - (20);$sessid_exist = mysql_query("SELECt sessid FROM bw_sessions WHERe sessid='" . session_id() . "'") or die (mysql_error());$sessid_check = mysql_num_rows($sessid_exist);if ($_SESSION['bw_username']) { $sql = mysql_query("UPDATe bw_sessions SET timestamp='" . time() . "', username='" . $_SESSION['bw_username'] . "' WHERe sessid='" . session_id() . "'");} else { if($sessid_check > 0){ $sql = mysql_query("UPDATE bw_sessions SET timestamp='" . time() . "' WHERe sessid='" . session_id() . "'"); } else { $sql = mysql_query("INSERT INTO bw_sessions (id, username, sessid, timestamp, ip) VALUES(null, '', '" . session_id() . "', '" . time() . "', '" . $_SERVER['REMOTE_ADDR'] . "')") or die (mysql_error()); }}$sql = mysql_query("SELECT distinct sessid FROM bw_sessions WHERe username='' AND timestamp >= '$timeout' ORDER BY timestamp DESC") or die (mysql_error());$sql2 = mysql_query("SELECt distinct sessid,username FROM bw_sessions WHERe username!='' AND timestamp >= '$timeout' ORDER BY username DESC") or die (mysql_error());$num_guests = mysql_num_rows($sql);$num_reg = mysql_num_rows($sql2);?><font size='1'>Currently Online: <br> <?=$num_guests;?> Guests<br> <?=$num_reg;?> Registered users您只需要制作一个表并按住session_id即可。然后在该表中查询任何“近期”活动。如果要实时更新,请将上面的代码(已修改为表格设计)放在“online.php”中,每隔x秒通过jquery调用一次,或者您决定这样做。



