Heim > Artikel > Backend-Entwicklung > Was tun, wenn PHP keine Cookies setzen kann?
Verwenden Sie setcookie, um Cookies auf einer bestimmten Seite zu setzen, zum Beispiel:
setcookie("id",$id, time()+36002430);
Aber nachdem ich zur Homepage zurückgekehrt war, stellte ich fest, dass es keine Wirkung zeigte :alert(document.cookie) Es ist leer und $_COOKIE in PHP enthält ebenfalls keine Daten.
Gehen Sie zur offiziellen PHP-Website, um die Anweisungen für setcookie zu überprüfen. Das Beispiel auf der offiziellen Website sieht auch so aus, aber nachdem ich mir die Parameterbeschreibung sorgfältig angesehen habe, habe ich das Problem entdeckt.
Verwandte Empfehlungen: „php-Einführungs-Tutorial“
Der vierte Parameter von setcookie ist Pfad:
The path on the server in which the cookie will be available on. If set to ‘/’, the cookie will be available within the entire domain. If set to ‘/foo/’, the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.
Das heißt, wenn der vierte Parameter Wenn es leer ist, wird es standardmäßig nur im aktuellen Verzeichnis wirksam. Unter normalen Umständen gibt es kein Problem.
Aber meine Seite ist mit Rewrite eingerichtet und index.php ist ausgeblendet, sodass das gesetzte Cookie nur auf dieser Seite gültig ist.
Die Lösung besteht darin, einen vierten Parameter hinzuzufügen:
setcookie("id",$id, time()+36002430 ,'/');
Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP keine Cookies setzen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!