【问题标题】:When browser close.How to run sqlk query when browser close in php当浏览器关闭时。如何在 php 中关闭浏览器时运行 sql 查询
【发布时间】:2012-07-16 09:02:51
【问题描述】:

我对浏览器关闭问题有一些疑问。

我正在使用 xcart。当用户登录网站并且任何情况下浏览器都将关闭,因此会话将被破坏..并且还运行 sql 查询以获取用户状态将离线。

问候, 马尼什·帕特尔

【问题讨论】:

标签: php jquery


【解决方案1】:

更新用户状态的代码可以移动到包含文件中,类似于以下内容:

$time = date('Y-m-d H:i:s', strtotime('now -15 minutes'));
$sql = "UPDATE users SET status = 'offline' WHERE last_activity < '{$time}'";

这可以包含在例如网站主页上,并且与实际在线的人无关。

你显然需要一个列(时间戳在这里会很好)来记录他们的活动

【讨论】:

  • 这只有在他有稳定的流量时才有效。即使有太多,也会对数据库进行过多的写入。使用crontab 更可靠。
  • 无论他有多少流量,下一次有人访问它都会更新数据库并让所有人下线。如果 crontab 是一个负载较重的站点,那么使用它可能会更好,但如果不是,那么 cron 作业本身就会导致额外的开销。总是有不同的需求,从来没有一种方法适合所有人。
  • 您假设读取数据库的唯一实体是网站,我很确定每隔几分钟的一次查询在任何人的书中都不会被视为“额外开销”;)
  • 我只是提供一个答案,请随意发布您自己的答案
猜你喜欢
  • 2014-05-16
  • 2018-05-24
  • 2013-04-08
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多