【问题标题】:Deleting session after log out注销后删除会话
【发布时间】:2015-01-14 05:04:37
【问题描述】:

我在用户从会话中注销后删除会话时遇到问题。例如,Ben 使用他的用户名和密码登录。登录后,会出现一个屏幕,屏幕上显示“Welcome Ben”。 Ben 现在注销,并出现一个屏幕,提示注销已成功。 然后 Lisa 使用她自己的用户名和密码登录。登录后会出现一个屏幕,但屏幕上仍然显示“Welcome Ben”。 Lisa 刷新页面,“Welcome Bem”现在变为“Welcome Lisa”。所以很明显,注销后会话没有正确删除。我只是想知道是否有人可以在注销后帮助删除 cookie

这是我正在使用的代码:

<?php 
   session_start(); 
   $_SESSION['User']=" "; 
   $_SESSION['Name']=" "; 
   session_destroy(); 
   header("Location: login.php"); // Redirecting To Home Page 
?>

【问题讨论】:

  • 除非您提供代码,否则我们无能为力。
  • 这是我正在使用的代码:
  • @HelidonaShabani 请编辑您的帖子并在其中包含代码,并带有代码格式。
  • 这也可能是一个简单的缓存问题。

标签: php session cookies logout


【解决方案1】:

试试这个...

<?php
if(isset($_SESSION['User']) AND isset($_SESSION['Name'])){
    unset($_SESSION['User']);
    unset($_SESSION['Name']);
    header("Location: login.php");
}
else{
header("Location: login.php");
}
?>

【讨论】:

    【解决方案2】:

    它可能没有删除您的 cookie。在您的索引页面上使用以下代码

    header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    

    它可能会解决你的问题。

    【讨论】:

      【解决方案3】:

      试试它的工作原理:

      logout.php

        <?php
          session_start();
      
          unset($_SESSION["user"]);
      
          header("location:login.php");
          ?>
      

      【讨论】:

      • session_destroy 有点矫枉过正,万一还有其他会话在存储数据呢?
      • 所以只需使用 unset($_SESSION['user']);它只会取消设置您要从会话中删除的变量。
      • 如果 OP 在创建注销脚本时遇到问题,如果您将其放入答案中可能会很有用
      • @DrRoach 当然,这是我的荣幸..现在检查答案。它会帮助你
      【解决方案4】:

      您可以尝试将会话设置为空白并取消设置会话,如下所示:

      $_SESSION['User'] = '';
      $_SESSION['Name'] = '';
      unset($_SESSION['User']);
      unset($_SESSION['Name']);
      

      然而,单单 unsets 应该绰绰有余了。

      您完成的脚本应如下所示:

      <?php 
          session_start();
          unset($_SESSION['User']);
          unset($_SESSION['Name']);
          header("Location: login.php"); 
          // Redirecting To Home Page 
      ?> 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-04
        • 1970-01-01
        • 2012-09-28
        • 2019-03-16
        • 1970-01-01
        • 2018-02-25
        • 1970-01-01
        相关资源
        最近更新 更多