首页 > 解决方案 > 为什么我的 cookie 没有显示(或以“null”响应),当它们无疑被设置时?

问题描述

当用户登录时,网站会为用户名和 id 设置一个 cookie。这些保留 30 天,可供整个站点访问。尽管经过一夜的开发,我遇到了一个很大的障碍,而且我一生都无法弄清楚为什么当它们毫无疑问设置时,cookie 会以“null”响应。

  1. 饼干准备好了!!!(Cookie 测试脚本以值响应)
  2. 甚至 Chrome 和 Firefox 也会显示 cookie 并且它们已设置(在所有子域上)
  3. 我已经更改了值、名称、路径、域,并从 Windows 中清除了所有临时文件和 cookie……什么都没有。
**This sets

setcookie('userid', '1', time() + 30, '/', 'example.com');
setcookie('useruid', 'blah', time() + 30, '/', 'example.com');

//setcookie('userid', '', time() -3600); **To remove when logging out

header("location: https://www.example.com/");
**This reads

if (isset($_COOKIE['userid']))
{
     $userUid = $_COOKIE['useruid'];
     echo '<a href="https://account.example.com/login/">'.$userUid.'</a>';
} else {
     echo '<script type="text/javascript">
          window.location.replace("https://account.example.com/login/");
     </script>';
}

我希望用户名显示在标题中,并且可以在整个网站(顶级域、子域等)中访问

这是 Chrome 看到的(之前):https://ibb.co/pJPTrSN 这是 Chrome 看到的(在 -> ID 之后):https://ibb.co/fpPNTks 这是 Chrome 看到的(在 -> UID 之后):https://ibb.co/4tg1q7x

提前致谢...

标签: phpapachehttpcookies

解决方案


推荐阅读