我有一个在pagetop.php中链接的logout.php页面,但是当登录用户按下注销按钮时,它不会将它们重定向回索引页面。
注销脚本:
<?php
session_start();
$_SESSION = array();
session_destroy();
header('Location: index.php');
?>
这是我在pagetop.php页面中找到的href代码:
<?php
if($_SESSION['loggedin'] != TRUE){
echo "Already a member?
<form id=\"loginform\" method=\"post\" action=" . $_SERVER['PHP_SELF'] . "
<label for=\"username\"> Email Address:</label>
<input type=\"text\" name=\"liusername\"/>
<br>
<label for=\"password\"> Password:</label>
<input type=\"text\" name=\"lipassword\" id=\"password\" />
</div>
<div class=\"submit\">
<input name=\"lisubmit\" type=\"submit\" value=\"submit\">
</div>\n";
}else{
echo "<a href = logout.php>Log out</A>\n";
}
?>
答案 0 :(得分:1)
删除$_SESSION = array()
并在exit;
之后添加header();
。您正在使用会话分配覆盖全局变量,并session_destroy()
清除实际会话,因此它不会清除任何内容。在标题之后退出也是一个好习惯,即使你没有任何脚本,你应该总是阻止执行header()
下面的脚本。
答案 1 :(得分:-1)
你的代码很完美,但这里有点错误
删除$_SESSION = array()
此处$session
已启动,因此会删除,header()
用于将网页重定向到另一个网页。
<?php
session_destroy();
header('Location: index.php');
exit();
?>