Php 如何显示当前有多少用户在线
我需要向我的用户显示当前在线的其他用户,我可以维护一个登录和注销日志,基于此,我可以计算所有在线用户,但很多时候用户没有注销,因此我的计数无效 以下是显示用户在线的条件:Php 如何显示当前有多少用户在线,php,ajax,jquery,Php,Ajax,Jquery,我需要向我的用户显示当前在线的其他用户,我可以维护一个登录和注销日志,基于此,我可以计算所有在线用户,但很多时候用户没有注销,因此我的计数无效 以下是显示用户在线的条件: 用户刚刚登录 用户当前正在查看该页面 用户打开了左侧选项卡,但当前正在另一个选项卡中浏览 “使用”选项卡已打开,但已最小化web浏览器 以下是不应在线显示使用的标准 用户已注销 用户dosent希望在线显示 用户关闭了浏览器,但选项卡处于打开状态 用户关闭了浏览器 我不知道该怎么做。我在服务器端使用php,mysql和Mong
提前感谢几乎所有显示用户在线的网站实际上都显示“用户在最后X分钟内在线”。只需跟踪每个用户最后一次加载一个页面,并计算在最后X分钟有多少用户(X是你想考虑的任何“在线”)< /P> < P>几乎所有显示在线用户的站点实际上都显示了“在最后X分钟内在线的用户”。只需跟踪每个用户最后一次加载一个页面,并计算在最后X分钟有多少用户(X是你想考虑的任何“在线”)< /P> < P>有一种方法可以确定用户是“在线”的。要做到这一点,您需要了解,对于“在线”用户,通常指的是在那一刻在线的用户;虽然检查这一点并不容易(甚至不可能),但检查用户是否在
x
时间内做了任何操作非常容易,这是大多数程序员的选择
这很简单:
last\u activity
的数据库中为每个登录用户创建一个字段last\u activity
设置为当前time()
stamp$x
秒数,用户在被视为脱机之前可以空闲(不浏览任何新页面)。(通常为15分钟、30分钟或1小时)“SELECT*FROM users WHERE last_activity>=”。(时间()-$x)
$x
秒内加载页面的用户列表last_activity
字段(如下所示)y
秒需要update.php
(只是一个示例)y
是你能做到的最大值(<30秒可能不好))update.php
,在其中使用当前time()更新last\u活动
$x=$y+1
使用最新的解决方案,您可以确保,每当用户不再在页面上时,他也不会运行AJAX调用,然后在
y
秒内,它将不再被视为在线。这是一个与第一个非常相似的解决方案,但您可以将y
设置为比前一个x
小。通过这种方式,您可以获得有关用户浏览器窗口当前状态的更多信息,但数据库负载比以前大得多。只有一种方法可以确保用户“在线”。要做到这一点,您需要了解,对于“在线”用户,通常指的是在那一刻在线的用户;虽然检查这一点并不容易(甚至不可能),但检查用户是否在x
时间内做了任何操作非常容易,这是大多数程序员的选择
这很简单:
last\u activity
的数据库中为每个登录用户创建一个字段last\u activity
设置为当前time()
stamp$x
秒数,用户在被视为脱机之前可以空闲(不浏览任何新页面)。(通常为15分钟、30分钟或1小时)“SELECT*FROM users WHERE last_activity>=”。(时间()-$x)
$x
秒内加载页面的用户列表last_activity
字段(如下所示)y
秒需要update.php
(只是一个示例)y
是你能做到的最大值(<30秒可能不好))update.php
,在其中使用当前time()更新last\u活动