php - Cookies 不会自己创建
问题描述
我一直在寻找 1 小时,但我对它并不陌生,但我不明白我做错了什么。
我有一个创建 cookie 的代码:
setcookie("id", $_POST['username'], time()+365*24*3600, "", "www.mysite.com");
没有任何帮助,$ _COOKIE ['id'] 的 var 转储不断返回我一个 NULL。
这是怎么回事 ?
解决方案
php.net 上的setcookie 文档说,如果未启用缓冲,则应在将任何其他内容发送到浏览器之前调用 setcookie()。因为 setcookie() 设置 HTTP 标头。如果没有缓冲,写入浏览器的第一个内容将导致发送所有标头,并且后续设置标头调用将不会做任何事情。
来自同一链接的另一件事:
直到下次加载 cookie 应该可见的页面时,cookie 才会变得可见。要测试 cookie 是否设置成功,请在 cookie 过期之前检查下一个加载页面上的 cookie。过期时间通过 expires 参数设置。调试 cookie 存在的一个好方法是简单地调用
print_r($_COOKIE);
.
推荐阅读
- java - 获取按钮的坐标
- python - 根据重复行列表中的索引增加重复行的列值
- node.js - 如何在nodeJS中从PDF中提取数字签名
- reactjs - ContextApi、useReducer 和 Typescript - 在组件上无法访问计算值
- apache-flink - 链接 Flink 接收器
- javascript - 时间过去后,MongoDB 将属性恢复为默认值
- django - 如何限制端点
- selenium - 如何使用 Robot Framework selenium 计算网页中元素之间的响应时间
- ios - 移动地图并从 API 加载更多数据
- sql - 如何将 Google Sheet 中的数据加入 Metabase 以创建仪表板?