【问题标题】:How can I unset the session when a page is closed?关闭页面时如何取消设置会话?
【发布时间】:2012-05-27 21:10:45
【问题描述】:

当我通过单击 [x](不是 onunload)关闭页面时,如何取消设置 SESSION。 我想在打开页面的时候和在关闭的时候插入,但是我不想在刷新的时候插入。

if (!isset($_SESSION["visits"]))
    $_SESSION["visits"] = 0;
    $_SESSION["visits"] = $_SESSION["visits"] + 1;
if ($_SESSION["visits"] > 1){echo "You hit the refresh button!";}
else{
    mysql_query(
        "INSERT INTO najd_visit( visit_userId, visit_staticId, visit_page,
            visit_enterTime)VALUES ('$userId', '$Sid', '$title', '$date') ");
    echo "This is my site";
    //unset($_SESSION["visits"]);
}

【问题讨论】:

  • 你不能轻易做到这一点,客户端必须回调服务器才能做到这一点。为什么没有会话超时?
  • 我想在打开页面和关闭时插入,但我不想在刷新时插入
  • 不是每个打开的窗口最终都会关闭吗?

标签: php javascript session


【解决方案1】:

通过将会话cookie的过期时间设置为0,当浏览器完全关闭时会自动清除。

这不是你想要的(它只会在整个浏览器关闭时清除会话),但它应该已经足够了。

【讨论】:

猜你喜欢
  • 2014-01-03
  • 2012-11-10
  • 2012-06-02
  • 2011-11-14
  • 2016-01-06
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
相关资源
最近更新 更多