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

Soda - 29 sept. 2003 à 17:10 - 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 

5 réponses

+23
Utile
1
Bonsoir, quand tu veux supprimer un cookie, fais :
<?php setCookie($name, '', (time() - 3600, '/'); ?>
;), bonne soirée.
Cette réponse vous a-t-elle aidé ?  
setcookie ($name,"false",(time() - 3600));
†Death's Angel† 12 Messages postés lundi 28 avril 2008Date d'inscription 21 mai 2008 Dernière intervention - 20 mai 2008 à 11:26
+21
Utile
1
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"]);
hugs-giver 91 Messages postés jeudi 27 décembre 2007Date d'inscription 10 juin 2014 Dernière intervention - 11 mai 2012 à 21:32
+11
Utile
Salut, ton code est faux, il manque ')'.