注销后删除会话

时间:2014-11-17 10:04:27

标签: php session cookies logout

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

以下是我正在使用的代码:

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

4 个答案:

答案 0 :(得分:1)

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

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

它可以解决您的问题。

答案 1 :(得分:0)

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

$_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 
?> 

答案 2 :(得分:0)

尝试使用它:

<强> logout.php

  <?php
    session_start();

    unset($_SESSION["user"]);

    header("location:login.php");
    ?>

答案 3 :(得分:0)

试试这个......

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