>백엔드 개발 >PHP 튜토리얼 >$_COOKIE가 `setcookie()`를 즉시 반영하지 않는 이유는 무엇이며 즉시 액세스하려면 어떻게 해야 합니까?

$_COOKIE가 `setcookie()`를 즉시 반영하지 않는 이유는 무엇이며 즉시 액세스하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-11 07:22:18164검색

Why Doesn't $_COOKIE Reflect `setcookie()` Immediately, and How Can I Access It Instantly?

setcookie() 호출 후 쿠키 값에 액세스

setcookie() 호출 직후 $_COOKIE를 사용하여 쿠키 값에 액세스하려고 할 때 함수를 사용하면 $_COOKIE['uname']이 설정되지 않은 것처럼 나타날 수 있습니다. 이는 쿠키가 설정된 후 즉시 사용할 수 없기 때문에 발생합니다.

그 이유는 클라이언트에 응답이 다시 전송될 때까지 쿠키가 설정되지 않기 때문입니다. 클라이언트가 다음 요청을 할 때까지 PHP는 쿠키에 액세스할 수 없습니다.

쿠키에 즉시 액세스

이 문제를 방지하려면 수동으로 설정하면 됩니다. setcookie()를 호출한 후 $_COOKIE의 쿠키 값. 이를 통해 동일한 스크립트 내에서 쿠키 값에 즉시 액세스할 수 있습니다.

setcookie('uname', $uname, time() + 60 * 30);
$_COOKIE['uname'] = $uname;

브라우저와 $_COOKIE의 수동 설정 모두에서 쿠키를 설정하면 setcookie()를 사용하여 설정한 후 즉시 해당 값에 액세스할 수 있습니다. .

위 내용은 $_COOKIE가 `setcookie()`를 즉시 반영하지 않는 이유는 무엇이며 즉시 액세스하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.