Heim > Backend-Entwicklung > PHP-Tutorial > Warum sind PHP-Cookies nach „setcookie()' nicht sofort verfügbar?

Warum sind PHP-Cookies nach „setcookie()' nicht sofort verfügbar?

Linda Hamilton
Freigeben: 2024-12-14 05:25:14
Original
840 Leute haben es durchsucht

Why are PHP Cookies Not Immediately Available After `setcookie()`?

Verstehen des verzögerten Erscheinens von Cookie-Werten in $_COOKIE

Beim Versuch, den Wert eines Cookies unmittelbar nach dem Aufruf der Funktion setcookie() abzurufen PHP, möglicherweise tritt ein Problem auf, bei dem $_COOKIE['uname'] undefiniert bleibt. Dies liegt daran, dass Cookies erst dann instanziiert werden, wenn die HTTP-Antwort an den Client übertragen wird.

Der Grund für diese Verzögerung ist, dass PHP-Cookies auf den Set-Cookie-HTTP-Header angewiesen sind, der in den Antwortheadern enthalten ist. Wenn setcookie() aufgerufen wird, fügt es den Set-Cookie-Header zur Antwort hinzu, aber der Header wird erst dann an den Client gesendet, wenn die Ausführung des Skripts abgeschlossen ist.

Sie können diese Einschränkung jedoch manuell umgehen Festlegen des Werts $_COOKIE['uname'] nach dem Aufruf von setcookie():

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

Durch manuelles Festlegen des Werts $_COOKIE wird das Cookie zur Verwendung verfügbar sofort in Ihr Skript einbinden. Dadurch können Sie auf den Wert des Cookies zugreifen, ohne sich auf die nächste Anfrage des Clients verlassen zu müssen.

Das obige ist der detaillierte Inhalt vonWarum sind PHP-Cookies nach „setcookie()' nicht sofort verfügbar?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage