我不确定为什么,但以下似乎没有按预期工作:
<?php
setcookie('my_cookie', $_GET['v'], time() + (86400 * 7));
echo $_COOKIE['my_cookie'];
?>
Run Code Online (Sandbox Code Playgroud)
如果将它放在PHP Web服务器上的文件中,并使用查询来调用它yourdomain.com/index.php?v=value.该值仅在第二个请求中打印到页面.为什么不在1号?
在$ _COOKIE数组表示只有那些排在来自客户端的请求的cookie.setcookie()添加一个HTTP标头,要求客户端在后续请求期间发送cookie .
通常,您不应该希望它看起来像请求中的cookie多于实际的cookie.相反,您通常应该在脚本的早期处理cookie ,在其他地方维护状态,并在脚本的后期设置或重置cookie .