我想检查用户是否在PHP中的其他PC上登录


I want to check if the user is logged in on other PC in PHP

我有一个简单的问题。我已经编写了授权系统,我想将任何会话保存在数据库中,因为我想编写聊天和有关上次登录用户的信息。保存会话非常简单,当用户单击注销更新带有结束时间的记录也很简单,但有时用户不会单击注销而是关闭选项卡或关闭浏览器,我想到的脚本将检查用户是否处于活动状态,但我如何才能轻松做到这一点?

我不知道如何检查某个用户的会话是否处于活动状态或用户现在是否正在运行我的网站。

除了必须单击的明显注销按钮。您无法真正准确地检测使用 PHP 注销您描述的任何其他事件。每次用户执行您站点的操作时,您都可以在数据库上写入一个值,例如last_activity_datetime,如果没有活动,则在 x 时间之后假设注销(最好与您的会话最长生命周期相匹配(

离开页面时跟踪用户的唯一方法是与客户端保持持续连接。如果您确实需要获取登录/注销的确切时间,请查看节点.js socket.io - 您可以与客户端保持连接,直到它们离开页面。对于您要做的事情来说,这可能是矫枉过正,但是如果您打算将来添加诸如聊天之类的内容,node.js将是一个非常有用的选择。它可以与您的主Web服务器一起运行,它们可以相互通信以共享信息。我在我的网站上使用它来向其他用户传播事件和通知。