thinkphp - PHP cookie读取报错,上代码
PHP中文网
PHP中文网 2017-04-10 15:37:00
[PHP讨论组]

<?php

setcookie('name',234,time()+10,'/');


//$b = $_COOKIE['name'];

echo $_COOKIE['name'];

为什么这个代码,第一次执行的时候报错,会报
Notice: Undefined index: name in D:\wamp\Apache\htdocs\test.php on line 10
未定义的索引 name ,我明明是先设置了COOKIE 再读取的啊?求详细解释

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
高洛峰

cookie 设置不是立即生效的, setcookie() 只是在 response header 头里加上 Set-Cookie 头,例如:

Set-Cookie: PHPSESSID=tbmh6ussjmqrblhth75qb9h2l0; path=/

这个响应到达客户端, Cookie 设置成功后, 下次 客户端的请求就会在 Header 里带上这个头:

Cookie: PHPSESSID=tbmh6ussjmqrblhth75qb9h2l0

此时才能通过 $_COOKIE 取到这个值。这就是为什么:

they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS 
怪我咯
Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS 

php对setcookie函数的说明。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号