> 백엔드 개발 > PHP 튜토리얼 > thinkPHP cookie读取报错,上代码

thinkPHP cookie读取报错,上代码

WBOY
풀어 주다: 2016-06-06 20:34:36
원래의
1538명이 탐색했습니다.

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


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

echo $_COOKIE['name'];
</code>
로그인 후 복사
로그인 후 복사

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

回复内容:

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


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

echo $_COOKIE['name'];
</code>
로그인 후 복사
로그인 후 복사

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

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

<code>Set-Cookie: PHPSESSID=tbmh6ussjmqrblhth75qb9h2l0; path=/
</code>
로그인 후 복사

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

<code>Cookie: PHPSESSID=tbmh6ussjmqrblhth75qb9h2l0
</code>
로그인 후 복사

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

<code>they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS 
</code>
로그인 후 복사

<code>Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS 
</code>
로그인 후 복사

php对setcookie函数的说明。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿