我有一个典型的PHP应用程序结构。像这样的东西
include('header.php');
HTML content
include('footer.php');
在header.php中有一个检查和函数调用
include('loginFunctions.php');
if (!userLoggedIn()){
loginRedirect();
}
loginfunctions.php
function loginRedirect(){
header('location: login.php');
exit();
}
问题是,如果用户已登录,进入某个页面,然后计时器将在注销时到期,则标题重定向将加载header.php页面中的login.php页面。因此用户被卡在他们导航的任何页面上,现在在同一页面中看到登录页面。为什么标题不会重定向浏览器?还有其他任何方法吗?我需要这个函数对所有页面都是通用的,这就是它在header.php
中的原因答案 0 :(得分:0)
问题是有一个AJAX请求也发出userLoggedIn函数并从AJAX请求加载登录页面。
要解决此问题,我将结果作为json echo返回并使用js进行处理。