Maison > développement back-end > Problème PHP > Que dois-je faire si je ne parviens pas à supprimer les cookies php ?

Que dois-je faire si je ne parviens pas à supprimer les cookies php ?

藏色散人
Libérer: 2023-03-08 10:00:02
original
1859 Les gens l'ont consulté

La solution au problème selon lequel les cookies PHP ne peuvent pas être supprimés : créez d'abord un exemple de fichier PHP ; puis créez un cookie via setcookie et enfin, définissez la période de validité de ce cookie sur une heure antérieure à l'heure actuelle à effacer ; le cookie créé.

Que dois-je faire si je ne parviens pas à supprimer les cookies php ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

PHP ne parvient pas à supprimer le COOKIE ? Définir la période de validité des COOKIES

PHP prend en charge de manière transparente les cookies HTTP, qui sont un mécanisme qui stocke les données du côté du navigateur distant 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();
Copier après la connexion

La façon de supprimer un cookie est de définir la période de validité du 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();
Copier après la connexion

constatera que le tableau $_COOKIE est vide, pas seulement $_COOKIE[. 'test'] est vide. , Winsock a donc capturé le paquet et observé l'en-tête http renvoyé. Il s'est avéré être :

set-cookie:test=deleted; expires=Mon, 29-May-2014 10:22:15 GMT
Copier après la connexion

Connexion :

setcookie('username', 'zhangsan', time()+1000, "/php100");
Copier après la connexion

Sortie :

setcookie('username', '', time()-3600);
Copier après la connexion
<🎜. >J'ai constaté qu'il n'y avait aucun problème sous IE lors de la sortie. Cependant, lors du test dans Firefox, la connexion est normale et ne peut pas se terminer. Après avoir vérifié la différence entre les enregistrements de cookies dans IE et Firefox, il a été découvert après avoir testé que le quatrième paramètre (. paramètre de chemin légal) de setcookie() n'a pas été spécifié, donc l'erreur s'est produite lors de la connexion et de la sortie. Le chemin de configuration des cookies est différent (Firefox est plus strict, ce qui entraîne la reconstruction de diverses variables) [Apprentissage recommandé : "

Tutoriel vidéo PHP"]

Exemple :

$value = &#39;something&#39;;
setcookie(&#39;TestCookie&#39;, $value, time() + 3600);
setcookie(&#39;mytest&#39;, $value, time() + 3600, "~rasmus", ".maoge.com", 1);
if (isset($_COOKIE[&#39;TestCookie&#39;]))
{
echo &#39;TestCookie :&#39; . $_COOKIE[&#39;TestCookie&#39;];
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal