尽管在我看来似乎没有一个可行的方法,但我已经探索了关于堆栈溢出的各种解决方案。
这是我的问题。在我的网站上运行php脚本后,我添加了标头函数以将我重定向到这样的另一个页面:
header("Location: https://example.com/examplepage.php");
exit();
此重定向之后,examplepage.php
告诉我没有设置会话变量(即使已设置)。
如果重定向后我访问了网站上的另一个页面,则会话变量似乎再次出现,并且一切正常。因此,我假设这是标题重定向的问题。
有人知道什么可能导致此问题吗?
尝试修复
session_start()
exit()
<?php
和?>
标记之前和之后的所有空白examplepage.php的PHP代码段
<?php
session_start();
include '../scripts/dbh.php';
//checks if the user is logged in
if((isset($_SESSION['id']))){
//do stuff
}
else{
//redirect user to login page as they are not logged in
//this header is executed as it thinks $_SESSION['id'] is not set
//note that this code is functional, only doesn't work after the header redirect mentioned
header("Location: https://example.com/login");
}
?>