我想在会话被销毁后引发一个函数(即用户关闭浏览器)。此函数会将我数据库中的值从 true 更改为 false。那可能吗?
问问题
101 次
3 回答
0
我猜你想弄清楚用户是否在线(或类似的东西?)“知道”(阅读:猜测)会话已死的唯一方法是存储用户的时间上次活动,然后将该时间与当前时间进行比较。然后,根据您的需要,您可以决定假设某个已闲置 30 分钟的用户处于离线状态。
于 2013-02-04T15:51:28.937 回答
0
做到这一点的唯一方法是使用 Javascript 检测关闭并使用 Ajax 请求(XMLHttpRequest
例如使用)到您的 PHP 页面(处理注销部分)。
有关关闭部分的更多信息,请参阅使用 javascript(或任何其他语言)的浏览器/选项卡关闭检测。
于 2013-02-04T15:52:49.477 回答
0
我建议你在你的数据库中注册用户的最后一个活动,这样它是 100% 准确的。然后通过将注册日期与当前时间进行比较,您可以决定用户何时处于活动状态。
如果你真的想知道用户是否还在你的页面上,你也可以做一些事情,但你应该避免它:在客户端,做一个 javascript 循环,例如每分钟,告诉你的服务器客户端是还在那里。当客户端关闭他的页面时,循环不会进行任何新的查询。
于 2013-02-04T16:03:16.520 回答