Résolu : Problème suppression cookie php
Résolu
ede42
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
ede42 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
ede42 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit souci pour effacer les cookies en php.
Je créé tout d'abord mes cookies :
j'ai une condition pour supprimer les cookies (je rentre bien dedans) :
Pourtant mes cookies sont bien toujours la !!!
Comment faire pour les effacer svp ?
j'ai un petit souci pour effacer les cookies en php.
Je créé tout d'abord mes cookies :
$expire = 365*24*3600; // on définit la durée du cookie, 1 an
setcookie("Net[mail]",$_POST['mail'],time()+$expire, "/");
setcookie("Net[telephone]",$_POST['telephone'],time()+$expire, "/");
.... plus d'autres cookies
j'ai une condition pour supprimer les cookies (je rentre bien dedans) :
// Après le rechargement de la page, nous les affichons
if (isset($_COOKIE['Net'])) {
foreach ($_COOKIE['Net'] as $name => $value) {
$name = htmlspecialchars($name);
$value = htmlspecialchars($value);
echo "$name : $value <br />\n";
setcookie('Net[$name]','', time() - 3600,'/'); // suppression du cookie
}
}
// On écrase le tableau de session
$_SESSION = array();
// On détruit la session
session_destroy();
Pourtant mes cookies sont bien toujours la !!!
Comment faire pour les effacer svp ?
5 réponses
-
Bonjour
setcookie("Net[$name]",'', time() - 3600,'/'); // suppression du cookie
Il faut des double quotes autour de la chaîne qui contient $name pour que $name soit bien pris comme une variable et remplacé par sa valeur -
Bonjour,
J'ai fais la modification mais sa ne change rien, les cookies sont toujours bien la ...
Par contre, j'ai un cookie qui se nomme PHPSESSID, si je fais :
setcookie("PHPSESSID",'', time() - 3600,'/');
sa fonctionne bien (est-ce du a mon tableau ?) -
Je viens de vérifier en copiant-collant ton code et en mettant des double quotes, ça fonctionne bien.
Es-tu sûr de ne pas re-créer tes cookies après leur destruction ?
Peux-tu montrer ton code modifié ? -
Pour vérification :
<?php if (isset($_COOKIE['Net'])) { print_r($_COOKIE); foreach ($_COOKIE['Net'] as $name => $value) { $name = htmlspecialchars($name); $value = htmlspecialchars($value); echo "$name : $value <br />\n"; setcookie("Net[$name]",'', time() - 3600,'/'); // suppression du cookie } } else { $expire = 365*24*3600; // on définit la durée du cookie, 1 an setcookie("Net[mail]",'toto',time()+$expire, "/"); setcookie("Net[telephone]",'tata',time()+$expire, "/"); } ?> <br />finiaffiche bien les cookies une fois sur deux (une fois créés, une fois détruits) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je te remercie pour ta réponse !!!
En faite à force de faire des modifs j'avais mis :
setcookie("Net[mail]",$_POST['mail'],time()+$expire;
En remettant setcookie("Net[mail]",$_POST['mail'],time()+$expire, "/"); avec ton code qui va bien, sa fonctionner.
Merci beaucoup pour ton aide "le père"