您的位置:首页 > 编程语言 > PHP开发

PHP简单统计在线人数

2011-03-30 16:42 447 查看
参考了一下网上资料,基本思路就是利用数据库记录用户的ip和最后访问时间。
(数据库连接和相关函数自理)

//表结构
CREATE TABLE online(
id integer not null auto_increment, #记录的ID
ip varchar(15) not null default '', #访问者的IP地址
lasttime datetime not null default '', #最后访问时间
uri varchar(255), #访问者请求的URI
primary key (id)
);


$ip         = real_ip();               //客户ip
$uri        = get_uri();
$time      = time();                  //当前时间
$duration = 60 * 30;               //保持登陆状态的持续时间
$lasttime = $time - $duration;  //最后有效时间

$sql = "select count(*) from online where ip='$ip'";
if ($db->get_one($sql)) {
$sql = "UPDATE online set lasttime='$time' uri='$uri' where ip='$ip'";
} else {
$sql = "INSERT into online (ip,lasttime,uri) vlaues ('$ip','$time','$uri')";
}
$db->query($sql);

$sql = "delete from online where lasttime < '$lasttime'";
$db->query($sql);

$sql = "select count(*) from online where lasttime >= '$lasttime'";
$online_count = $db->get_one($sql);

echo "当前在线人数:" . $online_count;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: