Utilisez setcookie pour définir des cookies sur une certaine page, par exemple :
setcookie("id",$id, time()+36002430);
Mais après être revenu à la page d'accueil, j'ai constaté que cela ne prenait pas effet. :alert(document.cookie) Il est vide et $_COOKIE en PHP n'a également aucune donnée.
Allez sur le site officiel de PHP pour vérifier les instructions de setcookie. L'exemple sur le site officiel est également comme celui-ci, mais après avoir examiné attentivement la description du paramètre, j'ai découvert le problème.
Recommandations associées : "Tutoriel d'introduction à php"
Le quatrième paramètre de setcookie est le chemin :
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.
C'est-à-dire si le quatrième paramètre S'il est vide, cela ne prendra effet par défaut que dans le répertoire courant. Dans des circonstances normales, il n'y a pas de problème.
Mais mon site est configuré en réécriture et index.php est masqué, le cookie défini n'est donc valable que sur cette page.
La solution est d'ajouter un 4ème paramètre :
setcookie("id",$id, time()+36002430 ,'/');
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!