👨‍💻🍪PHP: supprimer tous les cookies d'un site
- 187 vues
Voilà un code qui permet de supprimer tous les cookies d'un site en PHP, utile lorsque l'on veut déconnecter un utilisateur. Ne pas oublier d'appeler la fonction session_destroy() pour détruire la session côté serveur.
On récupère la liste des cookies et on fait un boucle dessus en les faisant expirer avec une date de validité de 1 heure dans le passé.
if (isset($_SERVER['HTTP_COOKIE'])) {
$cookiesList = explode(';', $_SERVER['HTTP_COOKIE']);
foreach($cookiesList as $cookie) {
$parts = explode('=', $cookie);
$name = trim($parts[0]);
setcookie($name, '', time()-3600, '/');
}
}
Â
Si t'as changé le nom des cookies lors d'une mise à jour de ton site par exemple, tu peux réutiliser ce code pour supprimer les anciens cookies chez les clients lorsqu'ils iront sur ton site.
Dans l'exemple, on veut conserver uniquement le cookie ayant pour nom 'cookieAGarder' grâce au if à l'intérieur du foreach et supprimer tous les autres.
if (isset($_SERVER['HTTP_COOKIE'])) {
$cookiesList = explode(';', $_SERVER['HTTP_COOKIE']);
foreach($cookiesList as $cookie) {
$parts = explode('=', $cookie);
$name = trim($parts[0]);
if ($name != 'cookieAGarder') {
setcookie($name, '', time()-3600, '/');
}
}
}
Â