按“X”按钮后数据库发生变化

时间:2010-06-03 07:33:26

标签: php mysql

我所知道的:我们可以使用Ajax从javascript更改数据库。因此,每当我们按下标题栏上的“X”按钮时,它就会调用“onbeforeunload”事件。通过此活动,我们可以更改数据库。

但在我的情况下,我只想在用户点击“X”按钮时更改用户的状态。不是在更改页面的情况下。因为更改页面正在卸载页面。并关闭页面也卸载页面(据我所知)。

有没有办法区分关闭页面和从一个页面移动到另一个页面?

每当他按下十字按钮时,我都想用它来改变用户的状态(即登录/登出)。

当用户更改页面时,我不想设置状态“logout”。 我想在用户'X'按钮时设置状态“logout”。

请帮助我。

2 个答案:

答案 0 :(得分:0)

你不能在javascript中因为退出而卸载因卸载而导致卸载。

你能做什么:

  • 在每次卸载时,进行注销
  • 在每个页面上,如果注销小于X时间,请删除注销。

这样,当用户从一个页面导航到另一个页面时,“其他”页面将看到用户并取消注销。

PS:不要依赖javascript进行'注销' - 用户可以禁用它,否则会因各种原因而失败。拥有“最后点击”时间戳可能很有用,如果最后一次点击时间太久,则将用户视为已登录。

答案 1 :(得分:0)

只使用存储用户登录状态的常规会话,而不是数据库。默认情况下,PHP会话在浏览器关闭时到期。见http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime