PHP注销和会话问题
她的是我在logout.php上的注销脚本:PHP注销和会话问题,php,session,Php,Session,她的是我在logout.php上的注销脚本: 我的问题是在注销后,当我点击浏览器后退按钮时,我被重定向回index.php页面。index.php显示了一段时间,之后它被重定向到login.php。我不明白为什么它会重定向回index.php页面。我不想向用户显示任何页面/内容,即使是在用户注销后的一秒钟。好吧,您的用户将不得不用javascript加载该页面,javascript正在执行重定向。您需要的是在PHP中发出一个头,以立即强制重定向。但是,如果您已经输出了一个头文件,就不能再这样做了
我的问题是在注销后,当我点击浏览器后退按钮时,我被重定向回index.php页面。index.php显示了一段时间,之后它被重定向到login.php。我不明白为什么它会重定向回index.php页面。我不想向用户显示任何页面/内容,即使是在用户注销后的一秒钟。好吧,您的用户将不得不用javascript加载该页面,javascript正在执行重定向。您需要的是在PHP中发出一个头,以立即强制重定向。但是,如果您已经输出了一个头文件,就不能再这样做了,所以您需要包含另一个PHP文件,其中包含要显示的输出,然后退出。通过Javascript执行此操作在window.location调用生效之前,总会有一个页面加载,许多使用弹出窗口阻止程序的人甚至可能无法正确执行Javascript重定向。好吧,您的用户将不得不使用Javascript加载该页面,Javascript正在执行重定向。您需要的是在PHP中发出一个头,以立即强制重定向。但是,如果您已经输出了一个头文件,就不能再这样做了,所以您需要包含另一个PHP文件,其中包含要显示的输出,然后退出。通过Javascript执行时,在window.location调用生效之前,总会有一个页面加载,许多使用弹出窗口阻止程序的人甚至可能不会正确地遵循Javascript重定向。不需要取消设置$\u会话['user']['id'];和会话_unset;。会话将完成所有任务。试试-
session_destroy();
header('location:logout.php');
exit;
不需要未设置的$_会话['user']['id'];和会话_unset;。会话将完成所有任务。试试-
session_destroy();
header('location:logout.php');
exit;
登录后检查每个页面上的条件
if(!isset($_SESSION['user'] && !isset($_SESSION['user']['id'])){
header('location:login.php') ;
}
登录后检查每个页面上的条件
if(!isset($_SESSION['user'] && !isset($_SESSION['user']['id'])){
header('location:login.php') ;
}
尝试使用
header ("Location: login.php");
尝试使用
header ("Location: login.php");