粗略计算在线时间,bug:ip相同


<?PHP
/*

CREATE TABLE `db_online` (
  `ip` char(20) default NULL,
  `time` char(20) NOT NULL default ,
  `name` char(200) NOT NULL default 游客
) TYPE=MyISAM

*/

//粗略计算在线时间,bug:ip相同(局域网->外部网)者,只记录一人 。不过几率很少

session_start();
//超时时间
$out_time=300;//60*5

$uesr_name=$_SESSION[uesr_name];

$now=time();
$online="db_online";
$ip=$_SERVER["REMOTE_ADDR"];

mysql_connect("localhost","root","");
mysql_select_db("数据库");
//删除过时用户.
mysql_query("delete from `$online` where  ($now-`time`)>$out_time or `name`=$uesr_name  or `ip`=$ip ");

if($uesr_name){
    mysql_query("  INSERT INTO `$online` (`ip`, `time`, `name`) VALUES ($ip,$now,$uesr_name)  ");
}else{
    mysql_query("  INSERT INTO `$online` (`ip`, `time`, `name`) VALUES ($ip,$now,游客)  ");
}

?>