【问题标题】:Session not destroy after logout in php在php中注销后会话不会破坏
【发布时间】:2013-02-12 18:38:23
【问题描述】:

我进行了很多研究,但我还没有找到解决问题的方法。我为用户单击一个链接以注销用户,然后将其重定向到登录页面。问题是当用户被重定向时它仍然登录。这是我注销用户的代码。

session_start();
  $_SESSION = array(); //destroy all of the session variables
  unset($_SESSION['valid']);
  unset($_SESSION['userid']);
  unset($_SESSION['username']);
  session_destroy();
  Header("Location:login.php");
  exit;
}

【问题讨论】:

标签: php


【解决方案1】:

确保登录和注销页面的子域相同

因为会话的 cookie 默认是基于域的,除非你改变它。

session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] )

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,是的,我发现我的 cookie 已设置; 所以只需添加以下代码就可以帮助我摆脱它:

    if(isset($_COOKIE[session_name()])):
    setcookie(session_name(), '', time()-7000000, '/');
    

    endif;

    【讨论】:

      猜你喜欢
      • 2019-05-17
      • 2018-07-31
      • 2012-09-07
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 2012-04-02
      相关资源
      最近更新 更多