原文:[url]http://tutorial.jcwcn.com/Web-Design/PHP/Web-Traffic-Analysis/2007-08-24/3025.html[/url]

CREATE TABLE `user_online` (

`session`
char(100) NOT NULL
default '',

`time`
int(11) NOT NULL
default '0'

) TYPE=MyISAM;
使用你的mysql客户端工具建立数据库表

<?php

session_start();

$session=session_id();

$time=time();
//$time_check用于检测是否超时 
$time_check=$time-600;
//设置时间10分钟=10*60秒

$host=
"localhost";
// 主机名 
$username=
"root";
// Mysql u用户名 
$password=
"123456";
// Mysql 密码 
$db_name=
"test";
// 数据库 名 
$tbl_name=
"user_online";
// 表格名
// 连接到服务器并选择数据库 
mysql_connect(
"$host",
"$username",
"$password")or die(
"无法连接mysql服务");

mysql_select_db(
"$db_name")or die(
"无法选择数据库");

$sql=
"SELECT * FROM $tbl_name WHERE session='$session'";

$result=mysql_query($sql);
//执行查询

$count=mysql_num_rows($result);
//检查指定的session是否存在,否则插入记录
if($count==
"0"){
//指定的session不存在 
$sql1=
"INSERT INTO $tbl_name(session, time)VALUES('$session', '$time')";

$result1=mysql_query($sql1);
//执行插入 
}
else {

$sql2=
"UPDATE $tbl_name SET time='$time' WHERE session = '$session'";

$result2=mysql_query($sql2);
//如果存在则修改连接时间 
}

$sql3=
"SELECT * FROM $tbl_name";

$result3=mysql_query($sql3);

$count_user_online=mysql_num_rows($result3);
//统计session次数决定在线人数

echo
"在线人数 : $count_user_online ";
//删除超时的session记录,10分钟之前连接的用户视为超时过期 
$sql4=
"DELETE FROM $tbl_name WHERE time<$time_check";

$result4=mysql_query($sql4);

mysql_close();
// 打开多个浏览器页面测试下 
?>
根据自己情况修改数据库配置。
本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/108560,如需转载请自行联系原作者