Fehlerbehebung bei leeren Cookies in PHP
Sie haben eine PHP-Funktion namens „validateUser()“ erstellt, die darauf abzielt, Cookies zu setzen, dies aber nicht tut Also. Hier sind einige mögliche Gründe, warum Ihre Cookies leer sein könnten:
Pfadattribut weggelassen:
Stellen Sie sicher, dass Sie beim Setzen des Cookies das Pfadattribut angeben. Dieses Attribut gibt den Pfad an, für den das Cookie gültig ist. Standardmäßig sind Cookies nur für das aktuelle Verzeichnis gültig. Durch das Setzen von path = / können Sie das Cookie auf der gesamten Website zugänglich machen.
setcookie('username2',$username,time()+60*60*24*365, '/');
Ausgabe vor Cookie:
Laut PHP-Handbuch müssen Cookies vor der Ausgabe Ihres Skripts gesendet werden. Stellen Sie sicher, dass die Funktion setcookie() aufgerufen wird, bevor eine andere Ausgabe gesendet wird.
Header-Beschädigung:
Stellen Sie sicher, dass keine anderen Header gesendet wurden, bevor Sie setcookie( ). Senden Sie Header nur, nachdem Sie Cookies gesetzt haben, um eine Beschädigung der Header zu verhindern.
Kompatibilität mit sicheren Flags:
Wenn Sie Ihre Website für die Verwendung von HTTPS konfiguriert haben, müssen Sie möglicherweise die Sicherheit festlegen Flag in der Funktion setcookie() auf true setzen. Dadurch wird sichergestellt, dass das Cookie nur über sichere Verbindungen gesendet wird.
Aufrufreihenfolge in der Funktion:
Im aktualisierten Funktionsaufruf setzen Sie Cookies ('Benutzername', 'Passwort') vor dem Aufruf von validateUser(). Stellen Sie sicher, dass Sie „setcookie()“ nach dem Aufruf von „validateUser()“ aufrufen, da dadurch zusätzliche Cookies gesetzt werden.
Cookie-Verfügbarkeit bestätigen:
Stellen Sie sicher, dass Ihr Webbrowser Cookies von zulässt Ihre Website. Überprüfen Sie die Browsereinstellungen, um sicherzustellen, dass die Cookie-Blockierung deaktiviert ist.
Das obige ist der detaillierte Inhalt vonWarum sind meine Cookies in PHP leer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!