Téléchargement
illégal
Posez votre question Signaler

Résolu : Problème suppression cookie php [Résolu]

ede42 94Messages postés 8 décembre 2010Date d'inscription 18 octobre 2011Dernière intervention - Dernière réponse le 18 oct. 2011 à 15:22
Bonjour,
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 ?
Lire la suite 

Résolu : Problème suppression cookie php »

5 réponses
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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 ?)
Ajouter un commentaire
Réponse
+0
moins plus
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é ?
Ajouter un commentaire
Réponse
+0
moins plus
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 />fini
affiche bien les cookies une fois sur deux (une fois créés, une fois détruits)
Ajouter un commentaire
Réponse
+0
moins plus
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"
Ajouter un commentaire
Ce document intitulé « Résolu : Problème suppression cookie php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?