了解PHP中有多少用户在线

了解PHP中有多少用户在线,php,Php,我想知道你如何制作一个计数器来显示网站上目前有多少人。 如何显示现在有多少人使用我的站点的页面名称以及如何显示最近更新的页面?您必须使用会话信息来显示当前在线用户的页面名称 您只能计算客户端加载页面的时间,因此您必须猜测当前有多少用户在浏览您的网站。例如,在每次页面加载时,可以保存客户端IP地址、请求的页面和时间戳。然后,您可以检索过去2、5、10等分钟的信息,以了解当前谁在访问您的站点以及哪个页面 或者,您可能希望包含会话信息 您的第二个问题非常广泛,需要更多信息。创建一个这样的表格 CREA

我想知道你如何制作一个计数器来显示网站上目前有多少人。
如何显示现在有多少人使用我的站点的页面名称以及如何显示最近更新的页面?

您必须使用会话信息来显示当前在线用户的页面名称


您只能计算客户端加载页面的时间,因此您必须猜测当前有多少用户在浏览您的网站。例如,在每次页面加载时,可以保存客户端IP地址、请求的页面和时间戳。然后,您可以检索过去2、5、10等分钟的信息,以了解当前谁在访问您的站点以及哪个页面

或者,您可能希望包含会话信息


您的第二个问题非常广泛,需要更多信息。

创建一个这样的表格

CREATE TABLE `status` (
`session` char(100) NOT NULL default '',
`time` int(11) NOT NULL default '0'
);
Status.php

<title>User Online</title>
<?php
include ('config.php');
session_start();
$session=session_id();
$time=time();
$time_check=$time-600;
$tbl_name="status";
mysql_connect("$host", "$username", "$password")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name WHERE session='$session'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count=="0"){
$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);
echo "User online : $count_user_online ";
$sql4="DELETE FROM $tbl_name WHERE time<$time_check";
$result4=mysql_query($sql4);
mysql_close();
?>
用户在线

如果有人登录,请添加1。如果有人注销,减去1。@yunow处理那些没有注销的人的减法是一个棘手的部分。跟踪他们的会话信息。最后一次请求页面(因此是活动)是什么时候,然后您可以通过查看过去五分钟内哪些用户处于活动状态来收集(Mysql)所有用户。@YUNOWORK即使很容易知道日志的数量,也很难知道还剩下多少日志(断开连接,只是关闭浏览器或关闭计算机…)创建一个cronjob,每10分钟运行一次,并检查哪些用户在这段时间内没有执行操作,如果他没有执行,则他处于脱机状态。老实说,我不认为这是个大问题。或者您只使用前面提到的会话功能。谢谢。如何显示页面名为“正在浏览”的联机用户列表?谢谢。如何显示页面名为“正在浏览”的联机用户列表?谢谢。如何显示页面名为“正在浏览”的联机用户列表?