php $_REQUEST 不包含 cookie
我有一些像这样的简单代码:
<?php
setcookie("user","test", time() + 3600);
echo $_REQUEST['user']."<br>";
echo $_COOKIE['user'];
?>
这就是结果:
Notice: Undefined index: user in D:\interpub\wwwroot\live\cookie.php on line 3
test
我在 IIS 7.5 上运行它。我已经重新加载了页面,并且我确定浏览器将 cookie 发送到 php 文件(因为我在 $_COOKIE 中有它)。那么为什么 $_REQUEST
不包含该 cookie?
I have some simple code like this:
<?php
setcookie("user","test", time() + 3600);
echo $_REQUEST['user']."<br>";
echo $_COOKIE['user'];
?>
and this is the result:
Notice: Undefined index: user in D:\interpub\wwwroot\live\cookie.php on line 3
test
I'm running it on IIS 7.5. I've reloaded the page and I'm sure the browser sends the cookie to the php file (because I have it in $_COOKIE). So why doesn't $_REQUEST
contain that cookie?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
较新的 PHP 设置中的
$_REQUEST
仅包含$_GET
和$_POST
。对于典型的 PHP 5.3 php.ini,
$_COOKIE
被request_order=GP
排除在外。请参阅http://php.net/manual/en/ini。 core.php#ini.request-order
和 http://php.net/manual/en/ini。 core.php#ini.variables-order
$_REQUEST
on newer PHP setups contains only$_GET
and$_POST
.With the typical PHP 5.3 php.ini
$_COOKIE
is excluded from there byrequest_order=GP
.See http://php.net/manual/en/ini.core.php#ini.request-order
And http://php.net/manual/en/ini.core.php#ini.variables-order
在发送下一个标头之前,不会发送 COOKIE。在页面重新加载之前,您将无法看到它们。
COOKIEs are not sent until the next headers are sent .. you won't be able to see them until a page reload.