La façon d'effacer les cookies en PHP est de définir la période de validité de ce cookie avant l'heure actuelle. Le code d'implémentation est tel que "setcookie('test',time() - 3600);".
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
Comment effacer les cookies avec PHP PHP ne peut pas supprimer le COOKIE ? Définir la période de validité des COOKIES
PHP prend en charge de manière transparente les cookies HTTP. Les cookies sont un mécanisme qui stocke les données du côté du navigateur distant et les utilise pour suivre et identifier les utilisateurs. Les cookies peuvent être définis à l'aide des fonctions setcookie() ou setrawcookie(). Les cookies font partie de l'en-tête HTTP. La fonction setcookie() doit donc être appelée avant que d'autres informations ne soient envoyées au navigateur, ce qui est similaire aux restrictions sur l'en-tête. () fonction.
setcookie();
La façon de supprimer un cookie est de définir la période de validité de ce cookie avant l'heure actuelle.
setcookie('test', 'true', time() + 300); // 创建 cookie //setcookie('test',time() - 3600 ); // 清除建立的 cookie //setcookie('test'); //只是将 $_COOKIE['test'] 的值清空 如果直接setcookie('test', ''); echo ' '; print_r($_COOKIE); //attay();
constatera que le tableau $_COOKIE est vide, et pas seulement $_COOKIE['test'] est vide, donc. winsock capture le paquet et observe le retour. L'en-tête
http s'est avéré être : set-cookie:test=deleted; expires=Mon, 29-May-2014 10:22:15 GMT
Connexion :
setcookie('username', 'zhangsan', time()+1000, "/php100");
Sortie :
setcookie('username', '', time()-3600);
J'ai constaté qu'à la sortie dans IE, il n'y a aucun problème lors du téléchargement, mais lors du test dans Firefox, la connexion est normale et ne peut pas quitter. Vérifiez la différence entre les enregistrements de cookies dans IE et Firefox. Après le test, j'ai trouvé que le quatrième paramètre. (paramètre de chemin légal) de setcookie() n'a pas été spécifié, donc par conséquent, les chemins des cookies définis lors de la connexion et de la déconnexion sont différents (Firefox est plus strict, ce qui conduit à la reconstruction de diverses variables)
J'ai trouvé qu'il y a Il n'y a aucun problème sous IE lors de la déconnexion, mais lors du test dans Firefox, la connexion est normale et ne peut pas se déconnecter. Vérifiez IE, la différence entre les enregistrements de cookies dans Firefox. Après les tests
, il a été découvert que le quatrième paramètre (chemin légal). paramètre) de setcookie() n'était pas spécifié, donc le chemin du cookie défini lors de la connexion et de la sortie était différent (Firefox est plus strict, ce qui entraîne une autre Chaque variable a été reconstruite)
Exemple :
$value = 'something'; setcookie('TestCookie', $value, time() + 3600); setcookie('mytest', $value, time() + 3600, "~rasmus", ".maoge.com", 1); if (isset($_COOKIE['TestCookie'])) { echo 'TestCookie :' . $_COOKIE['TestCookie']; }
Étude recommandée : "
Tutoriel vidéo PHPCe 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!