Php 如何确定创建的会话总数,即登录用户数?

Php 如何确定创建的会话总数,即登录用户数?,php,session,membership,Php,Session,Membership,嗨,伙计们,我有一个简单的会员网站,用户可以登录并拥有自己的个人资料。我希望能够告诉在任何给定的时间点有多少用户或更确切地说,哪些用户目前登录到我的网站 它是php中一个简单的基于成员资格的系统。一种方法是在数据库中创建一个表,并在其中存储登录详细信息和会话数据,但这可以通过其他方法来实现,即无论如何,找出已启动的会话数和所有唯一的在线用户。最好的方法是为每个用户记录lastActivityTime。当他们访问页面时,将时间记录在他们的数据库记录中。完成此操作后,运行一个简单的查询,以统计从当前

嗨,伙计们,我有一个简单的会员网站,用户可以登录并拥有自己的个人资料。我希望能够告诉在任何给定的时间点有多少用户或更确切地说,哪些用户目前登录到我的网站


它是php中一个简单的基于成员资格的系统。一种方法是在数据库中创建一个表,并在其中存储登录详细信息和会话数据,但这可以通过其他方法来实现,即无论如何,找出已启动的会话数和所有唯一的在线用户。

最好的方法是为每个用户记录
lastActivityTime
。当他们访问页面时,将时间记录在他们的数据库记录中。完成此操作后,运行一个简单的查询,以统计从
当前时间开始
lastActivityTime
少于5分钟的所有记录


因此,与其问“有多少用户已登录”,不如问“最近有多少用户处于活动状态。”

最好的方法是记录每个用户的
lastActivityTime
。当他们访问页面时,将时间记录在他们的数据库记录中。完成此操作后,运行一个简单的查询,以统计从
当前时间开始
lastActivityTime
少于5分钟的所有记录


因此,您不是问“有多少用户登录”,而是问“最近有多少用户处于活动状态。”

我使用的一种方法是编写自定义会话处理程序——php.net上有很多示例。
一旦会话数据进入SQL,您就可以用它做更多的事情。

我使用的一种方法是编写自定义会话处理程序——php.net上有很多示例。
一旦会话数据进入SQL,您就可以用它做很多事情。

整个“监视活动会话”问题的关键问题是您(服务器)不一定完全控制会话。用户的浏览器可以在任何给定时间使会话过期,因此您无法保证在任何时间都有活动用户

如果了解当前用户非常重要,那么在用户表中添加一列,指定时间戳,并在每次加载页面时更新该字段。如果该列过期不到一分钟,则可以认为它们处于活动状态


你可以做的另一件事(在线聊天室经常使用它来维护一个活动的“聊天”列表)是在给定的时间间隔(使用AJAX)轮询一个页面,然后即使他们不刷新页面,你仍然知道他们在那里。如果ajax请求未在指定的时间间隔内到达,则表示用户已离开或关闭了浏览器。

整个“监视活动会话”问题的关键问题在于您(服务器)不一定完全控制会话。用户的浏览器可以在任何给定时间使会话过期,因此您无法保证在任何时间都有活动用户

如果了解当前用户非常重要,那么在用户表中添加一列,指定时间戳,并在每次加载页面时更新该字段。如果该列过期不到一分钟,则可以认为它们处于活动状态


你可以做的另一件事(在线聊天室经常使用它来维护一个活动的“聊天”列表)是在给定的时间间隔(使用AJAX)轮询一个页面,然后即使他们不刷新页面,你仍然知道他们在那里。如果ajax请求未在指定的时间间隔内到达,则表示用户已导航离开,或关闭了浏览器。

Duplicate@马格纳斯-一切顺利,几乎都结束了:)@Evert-oops没有注意到这一点,无论如何,谢谢你把它提出来……重复@马格纳斯-进展顺利,几乎完成了:)@Evert-oops没有注意到这一点,无论如何,感谢您提出它……很抱歉等待了这么久,我决定采用这个想法,它更有意义,而且易于实现,足够准确。谢谢很抱歉等待了这么久,我决定采用这个想法,它更有意义,而且易于实现,而且足够准确。谢谢