当用户通过关闭浏览器或重新启动PC注销时,如何在数据库中保存注销时间?
答案 0 :(得分:0)
如果他们没有在物理上单击注销按钮(您正在记录他们的注销时间),则应将注销时间设置为会话到期时间。为了使此方法更准确,将会话的生命周期减少到几分钟。因此,在几分钟不活动后,会话将过期,您的注销时间将与用户停止使用您的软件时相对接近。请参阅下文,了解如何记录此信息。 Cron工作或javascript实现是必要的。
只是我的两分钱......可能更好的方法来做到这一点,但这种方式在我看来是最简单的。
答案 1 :(得分:0)
我用一种用户ping来管理它。我的网络应用程序中的每个页面都使用一个javascript,它每分钟都会向某个php文件发出get-request。此文件标识用户并更新用户表中的最后活动时间戳。在服务器上,我创建了一个每2分钟触发一次的cronjob,并检查usertable是否超过2分钟的最后活动时间戳。如果时间戳超过2分钟,则可以将用户标记为“已注销”。这样,用户可以在一个页面上花费很长时间,并且由于不活动而不会被注销。如果他关闭浏览器或重新启动电脑,则注销时间戳将由cronjob设置,非常精确。
此解决方案效果很好,但使用的是javascript计时器。这不是很好,但使它的工作非常好。如果你的页面已经使用了很多其他的javascript,你可能应该使用其他解决方案。