我在整个编码过程中遇到了一个奇怪的错误。
在每一页上,我在页面顶部都需要一个 authentication.php。
里面会有这样的:
if(!isset($_SESSION)) session_start();
if(!isset($_SESSION['test']))
{
$_SESSION['auth'] = randString(); //this is my own method creating a random auth id
$_SESSION['test'] = "Session is set and remembered.";
}
但是,我的身份验证会在每次刷新时继续生成一个随机 ID。
在这一点上,我发现我的会话以 cookie 形式存储了一个“PHPSESSID”,并将其更改为
if(!isset($_SESSION['auth']))
{
$_SESSION['auth'] = $_COOKIE['PHPSESSID'];
}
else
{
echo "hi";
}
虽然这改变了我每次刷新时更改的会话 ID,但它永远不会回显“hi”,因此得出的结论是会话值没有被存储。
有谁知道我做错了什么?