注销无效

时间:2015-11-26 02:38:55

标签: php session logout

我有一个注销按钮似乎效果不佳。点击它之后,我仍然可以看到“欢迎用户名”,并且注销按钮仍然存在,如下图所示。请告诉我logout.php上缺少的内容。

我可以问一下,点击退出后如何将用户重定向回原始页面?我尝试使用"header('Location: ' . $_SERVER['HTTP_REFERER']);",但它不起作用?

enter image description here
的index.php

<?php
ini_set("session.save_path", "sessionData");
session_start();
?>

 <?php if (!isset($_SESSION['uName'])) { ?>
    <form method="post" action="logonProcess.php">
    <div>Username <input type="text" name="userName" placeholder="Username"></div>
    <div>Password <input type="password" name="pwd" placeholder="Password"></div>
    <div><input type="submit" value="Logon"></div>
    </form>
<?php } else { }?>



<?php if (isset($_SESSION['uName'])) { 
    $username = $_SESSION['uName'];     
    echo "<p>Welcome $username</p>\n";
?>
        <a href="logout.php">Logout</a>

<?php } else { }?>

Logout.php

<?php
unset($_SESSION['user']);
session_destroy(); // Destroying All Sessions
header("Location: index.php"); // Redirecting To Home Page
?> 

3 个答案:

答案 0 :(得分:2)

首先尝试启动会话:

Logout.php

<?php
  session_start();
  unset($_SESSION['uName']);
  session_destroy(); // Destroying All Sessions
  header("Location: index.php"); // Redirecting To Home Page
?> 

来自:http://www.hackingwithphp.com/10/3/5/ending-a-session

答案 1 :(得分:1)

尝试将此添加到您的退出文件中:

unset($_SESSION['uName']);

答案 2 :(得分:1)

使用会话的所有脚本都需要使用相同的session.save_path设置。由于您在index.php中进行了设置,因此您还需要在logout.php中进行设置。否则,logout.php将无法访问会话数据。