Résolu : Problème suppression cookie php

Résolu
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

  1. 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"
    1. 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)
      1. 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é ?
        1. 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 ?)
          1. 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