当用户登录到我的系统时,我有一个会话变量$_SESSION['logged_in'] = 1;
,然后在每个页面上我检查变量以查看用户是否已登录,这可以正常工作:
session_start();
if (!$_SESSION['logged_in']) {
header("location: https://mydomain.com/cpanel/login.php");
exit();
}
但是现在,为了便于维护,我想将此会话检查器添加到包含文件中,并将其包含在每个安全页面的顶部。但是,每次我登录它都会失败。
这是包含文件中的内容:
// start session
session_start();
// check login session
if (!$_SESSION['logged_in']) {
header("location: https://mydomain.com/cpanel/login.php");
exit();
}
这就是我添加到每页标题的内容:
// load authentication file
include "../includes/authentication/check.php";
但它似乎$_SESSION
是空的,即使我确实已经登录了。我尝试session_start();
从包含文件中删除它,因为我认为这可能会以某种方式重新设置它 - 但事实并非如此。
你们中有人知道这里出了什么问题吗?