php - 如果用户在浏览器上单击关闭,则从 mysql 表中删除用户 session

标签 php mysql session

我为用户登录设置了下降,并且有一个 session 时间()和一些其他添加到表中的东西。

我遇到的问题是,当用户关闭浏览器时,它不会从 mysql 表中删除 session 。

从用户的角度来看,这很好,因为他们在打开浏览器时必须重新登录。

但对于 super 用户仪表板,如果用户关闭浏览器,它仍会显示用户已登录。

我确实看过关闭浏览器警报 javascript 代码,但我宁愿找到一种没有它的方法。

然后我想可能是一个 cron 脚本,但它可以让用户注销,除非我在每次他们单击另一个页面时更新 time()。只有这样吗?

最佳答案

我不会相信浏览器会告诉您它正在关闭。

唯一的办法就是在服务器上做。

尝试在每次验证 session 时记录当前时间 - 这将是 session 上次访问时间。

然后您可以删除所有超过您决定的某个时间段的 session 。您可以通过 cron 作业执行此操作,也可以将其添加到 session 验证代码中,每个用户都可以帮助保持表格整洁。

关于php - 如果用户在浏览器上单击关闭,则从 mysql 表中删除用户 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11588207/

相关文章:

javascript - 通过自动建议进行 Onclick 更新

php - Yii2 中的自定义身份验证问题

mysql - 如何组合这些 MySQL 查询?

php - 使用 mySQL 查询时出错。如何解决这个问题?

PHP 拆分 fwrite 以节省内存

node.js - 为什么会忘记对象的原型(prototype)?

php - Laravel 迁移无法在新数据库上运行

Java类调用使用hibernate的方法 - 多次运行时出错

c# - ASP.NET Web 应用程序 session 问题

php - Symfony - 应用程序布局目录