她是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
页面。我不希望在用户注销后立即向用户显示任何页面/内容。
答案 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");