我在登录用户关闭浏览器时遇到问题。由于浏览器关闭,我的代码无法运行,因此它们的登录状态无法在数据库中更新为“N”。此外,由于会话被破坏,他们无法返回主页,因为我有此代码if (!isset($_SESSION['logged in'])) {
等,以防止人们在未登录的情况下查看任何页面。
当用户登录时,他们的登录状态更改为“Y”,我记录他们登录的时间。我记录他们在每次页面加载时的最后活动时间。如果用户在页面上闲置 20 分钟,我会将用户重定向到登录页面并更改其登录状态。由于浏览器关闭问题,我还有一个 cron 作业,该问题每 5 分钟运行一次,并检查用户上次活动是否超过 20 分钟,如果是,他们的登录状态变为“N”
我认为由于浏览器关闭,用户必须等待 20 分钟以上才能重新登录,所以我希望能够立即再次登录。
我已经阅读了有关 javascript 的卸载功能,但显然它是不可靠的。
我还有其他方法可以解决这个问题吗?