Maison >développement back-end >tutoriel php >Pourquoi `unset($_COOKIE['cookie_name'])` ne supprime-t-il pas un cookie et comment puis-je le faire correctement ?

Pourquoi `unset($_COOKIE['cookie_name'])` ne supprime-t-il pas un cookie et comment puis-je le faire correctement ?

DDD
DDDoriginal
2024-12-14 14:08:13145parcourir

Why Doesn't `unset($_COOKIE['cookie_name'])` Remove a Cookie, and How Can I Do It Properly?

Comment supprimer efficacement un cookie

Lorsque vous essayez de supprimer un cookie en utilisant unset($_COOKIE['hello']);, vous remarquerez que le cookie reste visible dans le gestionnaire de cookies de votre navigateur. En effet, la fonction de suppression supprime uniquement le cookie de la mémoire interne de PHP, pas du navigateur.

Pour supprimer définitivement un cookie, les étapes suivantes sont nécessaires :

  1. Désactivez le cookie du fichier interne de PHP mémoire :

    unset($_COOKIE['remember_user']);
  2. Définir le cookie pour qu'il expire dans le passé (par exemple, il y a 1 heure) :

    setcookie('remember_user', '', time() - 3600, '/');
  3. Assurez-vous que le chemin du cookie correspond au cookie d'origine :
    La fonction setcookie prend un path comme troisième paramètre. Ce chemin doit correspondre au chemin spécifié lors de la création initiale du cookie. Si les chemins ne correspondent pas, PHP risque de ne pas supprimer le cookie correctement.
  4. Renvoyer un message de réussite (facultatif) :

    return true;

En suivant ces étapes, vous pouvez supprimer efficacement un cookie du navigateur et empêcher son utilisation lors de demandes futures.

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!

Déclaration:
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