Lösung für ungültiges PHP-Setcookie: 1. Aktivieren Sie Cookies im Browser. 2. Löschen Sie alle HTTP-Header-Ausgaben vor Setcookie(). 3. Verwenden Sie PHPs Setcookie(), um ein Cookie zu erstellen.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
php setcookie-Funktion ungültig?
Als ich kürzlich ein PHP-Backend für eine Website schrieb, stellte ich fest, dass die Funktion setcookie nicht immer normal Cookies setzen konnte. Über var_dump() stellte ich fest, dass der Rückgabewert der Funktion falsch war, was offensichtlich bedeutete Die Einstellung war nicht erfolgreich. Nach einer Suche bei Google habe ich festgestellt, dass der Fehler beim Setzen von Cookies folgende Ursachen haben kann:
Der Browser hat Cookies deaktiviert. Keine Notwendigkeit, dies zu überprüfen, ich bin sicher, dass es nicht deaktiviert ist.
Die Verwendung von PHPs setcookie() zum Erstellen von Cookies ist dasselbe wie session_start() zum Öffnen einer Sitzung in PHP. Vor setcookie() darf keine HTTP-Header-Ausgabe erfolgen. Ich habe den Code überprüft und den folgenden Code gefunden:
<p>var_dump($qOpenId);<br/>setcookie('qOpenId',$openid,time() + 30 * 24 * 3600,'/');<br/></p>
hat die Zeile var_dump($OpenId) entschieden kommentiert, der Test war erfolgreich.
Persönlich denke ich, dass setcookie den Inhalt direkt im HTTP-Header festlegen sollte, sodass keine Header-Ausgabe davor erfolgen kann, kein var_dump, kein Echo usw.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP Setcookie fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!