我有一个注销按钮,似乎不工作。点击它后,我仍然可以看到“欢迎用户名”,注销按钮仍然存在,如下图所示。请让我知道我的logout.php
上缺少什么。注销不起作用
我还可以问我怎样才能在点击注销后将用户重定向到原始页面?我尝试使用"header('Location: ' . $_SERVER['HTTP_REFERER']);"
但它不起作用?
<?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
?>
查看关于引用链接的手册http://php.net/manual/en/reserved.variables.server.php。它并不总是设置。应该检查并且有一个默认值,如果不是,不是所有的用户代理都会设置它,有些提供修改HTTP_REFERER作为一个功能的能力。总之,它不能真正被信任。“ – chris85
你有没有试过[This one](http://stackoverflow.com/a/3512570/3583859)接受的答案 –
为什么你不设置一个不同于你设置的会话变量? – Barmar