PHP注销和会话问题

时间:2015-05-12 09:27:47

标签: php session

她是logout.php上的退出脚本

unset($_SESSION['user']['id']);
        session_unset();
        session_destroy();
        echo '<script type="text/javascript">window.location="login.php"</script>';

我的问题是在我退出后点击浏览器后退按钮时,我被重定向回到index.php页面。 index.php显示了一段时间,然后被重定向到login.php。我不明白为什么它会重定向到index.php页面。我不希望在用户注销后立即向用户显示任何页面/内容。

4 个答案:

答案 0 :(得分:2)

登录后检查每个页面上的条件

 if(!isset($_SESSION['user'] && !isset($_SESSION['user']['id'])){ 
    header('location:login.php') ;
 }

答案 1 :(得分:1)

好吧,您的用户将不得不使用javascript加载该页面,而javascript正在进行重定向。你想要的是在PHP中发出一个标题来立即强制重定向。但是,如果您已经将标题输出,则无法再次执行此操作,因此您需要包含另一个包含要显示的输出的PHP文件,然后再使用die()。通过Javascript完成它会在window.location()调用生效之前总是有一个页面加载,许多有弹出窗口阻止程序的人可能甚至不能正确地遵循javascript重定向。

答案 2 :(得分:1)

无需unset($_SESSION['user']['id']);session_unset();session_destroy()会做到这一切。试试 -

session_destroy();
header('location:logout.php');
exit;

答案 3 :(得分:0)

尝试使用。

 header ("Location: login.php");