从logout.php页面重定向到index.php不起作用

时间:2014-03-31 12:16:48

标签: php

我有一个在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?&nbsp;
 <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";
 }
 ?>

2 个答案:

答案 0 :(得分:1)

删除$_SESSION = array()并在exit;之后添加header();。您正在使用会话分配覆盖全局变量,并session_destroy()清除实际会话,因此它不会清除任何内容。在标题之后退出也是一个好习惯,即使你没有任何脚本,你应该总是阻止执行header()下面的脚本。

答案 1 :(得分:-1)

你的代码很完美,但这里有点错误 删除$_SESSION = array()

此处$session已启动,因此会删除,header()用于将网页重定向到另一个网页。

<?php
  session_destroy();
  header('Location: index.php');
  exit();
?>