Fehlerbehebung bei leeren Cookies bei der Sitzungsverarbeitung
In der vorgestellten PHP-Funktion umfasst der Benutzervalidierungsprozess das Setzen von Cookies für „Benutzername“ und „ Benutzername2‘ mit setcookie(). Beim Abrufen des Cookies „Benutzername2“ bleibt es jedoch leer. Dieses Problem kann aus verschiedenen Gründen auftreten.
Unvollständige Cookie-Konfiguration
Stellen Sie sicher, dass die gesamte setcookie()-Konfiguration die erforderlichen Parameter enthält:
Ausgabe Änderung
Beachten Sie die Warnung im PHP-Handbuch: „Cookies müssen vor der Ausgabe Ihres Skripts gesendet werden.“ Vermeiden Sie Echos vor dem Setzen von Cookies, um zu verhindern, dass bereits Header gesendet werden. Geben Sie im angegebenen Code echo $_COOKIE['username2']; Ausfahrt(); sollte vor dem Header platziert werden („Location: ../new.php“); Zeile.
Validate-Funktionsoptimierung
Die Funktion „validateUser()“ sollte nur zum Festlegen der Sitzung und Umleitung verwendet werden, ohne jegliche Logik oder Datenbankabfragen. Erwägen Sie die Erstellung einer separaten Funktion für die Benutzervalidierung und einer weiteren für das Setzen von Cookies.
Beispiel
Eine optimierte Version der Funktion „validateUser()“ und der Cookie-Einstellung:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Das obige ist der detaillierte Inhalt vonWarum ist mein Cookie „Benutzername2' leer, obwohl es mit setcookie() in PHP gesetzt wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!