PHP统计在线人数
2008-03-21 15:05
585 查看
参考了一下网上资料,基本思路就是利用数据库记录用户的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;
(数据库连接和相关函数自理)
//表结构
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;
相关文章推荐
- PHP框架
- zend framework学习小结
- 基于zend framework的留言本实现
- thikphp
- Save output to a dataset
- FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
- 用Zend Framework做XmlRpc
- InputStream & OutputStream V.S. Reader & Writer
- PHP中文手册 阅读笔记3
- php实现mysql数据库备份类
- php类-resizeimage类-图片生成缩略图
- 第一次使用CSDN
- php的post数据获取说明
- 最佳PHP解析RSS类lastRSS
- 用simpleXML获取php.net的RSS
- PHP开发多任务应用程序
- 关于数组合并,php
- PHP站点国际化后层次细分的一点体会
- PHP开发一个完整、安全的用户登录系统
- Firefox 特色扩展: web php proxy