我有一个关于"当用户在线时,我如何处理他们"系列的小问题。。。
简介:我使用MySQL来保存在线用户,当然,当他们登录时,一切都很好。。当他们注销时,我会删除"onlineusers"表中的行。
问题:当有人清除浏览器数据时,$_SESSION[]结果为空,并且用户没有登录,当然,但是在我的数据库中,我仍然有该用户的行,这意味着对于我的数据,他是在线的。。你知道这不好。
第一个解决方案:我决定检查,每次有人登录时,如果有一行,用户ID为"online_user",则进行更新查询,否则进行插入查询。
但我认为这不是最好的解决方案,因为这意味着我在"online_users"中有一些垃圾行,直到他们重新登录。。。
有人能告诉我这个问题是否还有另一个很好的解决方案吗?
我想我可以使用HTML5与本地存储,但不是每个浏览器都支持它…
这种情况下我该怎么办?
谢谢你的每一个回答。
它已经被回答了一百万次:在您的在线用户表中有一个最后活动字段,并删除最后活动早于15分钟前的行