Suppression de cookies en PHP [Résolu/Fermé]

- - Dernière réponse :  Binary - 19 janv. 2014 à 16:57
Bonjour, j'ai un petit soucis avec les cookies et PHP.

J'ai créé mes cookies dans un tableau associatif de cette maniere :
while (list($key, $val) = each($HTTP_POST_VARS))
	setcookie($site."[".$key."]", $val, $time + 3600, "/");



Ensuite, j'essaie de supprimer ces cookies avec cette boucle, mais cela ne semble pas marcher :
while (list($name, $val) = each($HTTP_COOKIE_VARS))
	setcookie($name, "", time() - 3600, "/");


Faut il faire quelque chose de special à cause du tableau associatif?

Merci.
Afficher la suite 

3 réponses

Meilleure réponse
23
Merci
Bonsoir, quand tu veux supprimer un cookie, fais :
<?php setCookie($name, '', (time() - 3600, '/'); ?>
;), bonne soirée.

Dire « Merci » 23

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 70422 internautes nous ont dit merci ce mois-ci

setcookie ($name,"false",(time() - 3600));
Messages postés
12
Date d'inscription
lundi 28 avril 2008
Statut
Membre
Dernière intervention
21 mai 2008
45
21
Merci
Tu as 2 solutions :

PHP - Les cookies et les en-têtes HTTP

Supprimer un cookie


Il peut éventuellement être utile de proposer à l'utilisateur de supprimer certains de ses cookies, ou bien de le faire vous même de façon transparente.

Pour ceci il suffit de renvoyer le cookie grâce à la fonction setcookie() en spécifiant simplement l'argument NomDuCookie :

<?
setcookie("Visites");
?>


Une autre méthode consiste à envoyer un cookie dont la date d'expiration est passée :

<?
setcookie("Visites","",0,"/","",0);
?>
Ce qui est indiqué ci-dessus ne fonctionne pas. Je pensais que la méthode unset suffisait mais ce n'est pas le cas. Le code ci-dessous expire le cookie dans le navigateur web puis le supprime. Je suppose que la suppression ne doit être possible que si le cookie est expiré...
Il faut combiner setCookie avec contenu false et date d'expiration antérieure à l'heure courante. Puis faire un appel à la méthode unset. Le code suivant fonctionne :

// Set expiration time to -1hr (will cause browser deletion)
setcookie("Visites", false, time() - 3600);
// Unset key
unset($_COOKIE["Visites"]);
Messages postés
91
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
10 juin 2014
29
11
Merci
Salut, ton code est faux, il manque ')'.