首页 > 解决方案 > Cookies 不会自己创建

问题描述

我一直在寻找 1 小时,但我对它并不陌生,但我不明白我做错了什么。

我有一个创建 cookie 的代码:

setcookie("id", $_POST['username'], time()+365*24*3600, "", "www.mysite.com");

没有任何帮助,$ _COOKIE ['id'] 的 var 转储不断返回我一个 NULL。

这是怎么回事 ?

标签: phpcookies

解决方案


php.net 上的setcookie 文档说,如果未启用缓冲,则应在将任何其他内容发送到浏览器之前调用 setcookie()。因为 setcookie() 设置 HTTP 标头。如果没有缓冲,写入浏览器的第一个内容将导致发送所有标头,并且后续设置标头调用将不会做任何事情。

来自同一链接的另一件事:

直到下次加载 cookie 应该可见的页面时,cookie 才会变得可见。要测试 cookie 是否设置成功,请在 cookie 过期之前检查下一个加载页面上的 cookie。过期时间通过 expires 参数设置。调试 cookie 存在的一个好方法是简单地调用 print_r($_COOKIE);.


推荐阅读