Résolu : Problème suppression cookie php

Résolu/Fermé
ede42
Messages postés
73
Date d'inscription
mercredi 8 décembre 2010
Statut
Membre
Dernière intervention
19 avril 2022
- Modifié par ede42 le 18/10/2011 à 15:22
ede42
Messages postés
73
Date d'inscription
mercredi 8 décembre 2010
Statut
Membre
Dernière intervention
19 avril 2022
- 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 ?


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
0
ede42
Messages postés
73
Date d'inscription
mercredi 8 décembre 2010
Statut
Membre
Dernière intervention
19 avril 2022
15
18 oct. 2011 à 14:13
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 ?)
0
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é ?
0
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ede42
Messages postés
73
Date d'inscription
mercredi 8 décembre 2010
Statut
Membre
Dernière intervention
19 avril 2022
15
18 oct. 2011 à 15:22
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"
0