En essayant d'effacer tous les cookies du site Web lors de la déconnexion d'un utilisateur, vous avez rencontré un problème avec le code suivant :
<code class="php">setcookie("user",false);</code>
Ce code semble inefficace. Explorons une approche alternative pour purger les cookies d'un domaine spécifique.
La fonction PHP setcookie() fournit un moyen à la fois de définir et d'effacer les cookies. Pour supprimer un cookie, nous pouvons définir sa valeur sur une chaîne vide et définir le délai d'expiration sur une date passée :
<code class="php">setcookie("name", "", time() - 3600);</code>
Mise en œuvre de cette approche pour supprimer tous les cookies associés à un domaine nécessitent un itinéraire alternatif. La fonction setcookie() de PHP ne permet pas de purger plusieurs cookies simultanément. Cependant, en exploitant la variable $_SERVER['HTTP_COOKIE'], nous pouvons énumérer les cookies existants et les supprimer individuellement :
<code class="php">// unset cookies if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } }</code>
En parcourant les cookies et en définissant les valeurs de chemin et d'expiration sur des chaînes vides, nous peut effectivement effacer tous les cookies associés au domaine actuel.
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!