在页面退出/导航离开页面执行mysql查询?

时间:2013-04-17 00:54:06

标签: php mysql

任何人都可以告诉我是否可以运行一个mysl查询,如果用户离开或退出页面,它将运行?

例如,我有一个名为sessions的表,我使用'session_start'和'session_end'来尝试跟踪我网站上的用户。所以为了实现'session_end'时间戳我想知道在用户离开网站时是否可以更新这个列?

还有其他方法可以实现这一点,我没想到,我真的很感激任何人的建议,

提前致谢

2 个答案:

答案 0 :(得分:3)

如果此站点有登录脚本/注销脚本,您可以

  1. 当用户结束会话(注销)时,您可以运行查询以使用用户会话用户名和时间戳进行更新
  2. 如果用户会话超时(可能他离开了网站但未注销),您可以使用用户名和时间戳运行查询,以获取有关用户会话超时和会话活动时间的数据对于。
  3. 如果用户登录,则使用该会话用户名/输入的用户名将会话数据存储在数据库中。
  4. 这些只是一些方法(想到的前两种方式)。请查看sessions on PHP以获取进一步的帮助。同样对于查询的东西,看看PHP PDO再次我只想重申这是我想到的前两件事,并且根据提供的信息,我提出了以下建议。希望这是某种帮助/“AH - HAH!”时刻。享受先生。

      
        

    编辑1

      

    如果您试图在浏览器关闭后尝试运行查询/用户点击指向外部域的链接,则不会作为deceze发表评论,您不应该信任浏览器通知服务器。但就像我在编辑上面发布的那样,你可以使用上面提到的方法来接近你所要求的。

    另外不要忘记阅读OWAPS's PHP session security cheat sheet ..这个和PHP用户手册应该是你最好的朋友:D

    希望这对你有用!

    快乐编码:)

答案 1 :(得分:0)

1:用户登录&注销 - 存储页面ID(访问页面)和跟踪用户的时间 - 注销(会话结束)

2:每页上的Ajax脚本 - 如果没有更新意味着用户不可用/左侧,则每隔几秒或几分钟更新页面ID和时间戳 3:每个页面上的php代码,每次访问时存储IP地址,页面ID和时间戳(如果没有新条目,用户不可用)