Als ich kürzlich ein PHP-Backend für eine Website schrieb, stellte ich fest, dass die Funktion setcookie nicht immer Cookies normal setzen konnte. Durch var_dump() stellte ich fest, dass der Rückgabewert der Funktion falsch war, was offensichtlich bedeutete Die Einstellung war nicht erfolgreich. Nach der Suche bei Google habe ich festgestellt, dass es zu einem Fehler beim Setzen von Cookies kommen kann:
Der Browser hat Cookies deaktiviert. Keine Notwendigkeit, dies zu überprüfen, ich bin sicher, dass es nicht deaktiviert ist.
2. Die Verwendung von setcookie() von PHP zum Erstellen eines Cookies ist dasselbe wie session_start(), das die Sitzung in PHP öffnet. Vor setcookie() darf keine HTTP-Header-Ausgabe erfolgen. Ich habe den Code überprüft und den folgenden Code gefunden:
var_dump($qOpenId); setcookie('qOpenId',$openid,time() + 30 * 24 * 3600,'/');
hat die Zeile var_dump($OpenId) entschieden kommentiert, und der Test war erfolgreich.
Ich persönlich denke, dass setcookie den Inhalt direkt im http-Header festlegen sollte, sodass keine Header-Ausgabe davor stehen darf, weder var_dump noch echo
Verwandte Artikel:
Wenn setcookie die Ablaufzeit nicht festlegt, wie soll ich dann den festgelegten Pfad schreiben?
Cookie-Einstellungen PHP-SetCookie-Einstellungen Cookie-Nutzung und ungültige Einstellungen