Heim >Backend-Entwicklung >PHP-Tutorial >Warum spiegelt $_COOKIE „setcookie()' nicht sofort wider und wie kann ich sofort darauf zugreifen?
Auf den Cookie-Wert nach dem Aufruf von setcookie() zugreifen
Wenn Sie versuchen, mit $_COOKIE unmittelbar nach dem Aufruf von setcookie() auf den Wert eines Cookies zuzugreifen Funktion kann es so aussehen, als ob $_COOKIE['uname'] nicht gesetzt ist. Dies liegt daran, dass Cookies nach dem Setzen nicht sofort verfügbar sind.
Der Grund dafür ist, dass das Cookie erst gesetzt wird, wenn die Antwort an den Client zurückgesendet wird. PHP hat keinen Zugriff auf das Cookie, bis der Client die nächste Anfrage stellt.
Sofort auf das Cookie zugreifen
Um dieses Problem zu umgehen, können Sie es manuell festlegen der Cookie-Wert in $_COOKIE nach dem Aufruf von setcookie(). Dadurch können Sie sofort im selben Skript auf den Cookie-Wert zugreifen:
setcookie('uname', $uname, time() + 60 * 30); $_COOKIE['uname'] = $uname;
Indem Sie das Cookie sowohl im Browser als auch manuell in $_COOKIE setzen, können Sie sofort nach dem Setzen mit setcookie() auf seinen Wert zugreifen. .
Das obige ist der detaillierte Inhalt vonWarum spiegelt $_COOKIE „setcookie()' nicht sofort wider und wie kann ich sofort darauf zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!