Cookie qui ne se détruit pas

Résolu
Doy -  
 Doy -
Bonjour,

Depuis plusieurs jours j'ai remarquer un problème au niveau de mes cookie.
Mon site (en developpement) utilise les cookies pour la traduction du site, or, les cookie ne se détruisent pas quand il expire.

Au lieu de se détruire, un nouveau cookie identitque se recrée.

Code utilisé:
<?php
function selectLangue()
{
    if(isset($_GET['langue']))
    {
 $url = htmlspecialchars($_GET['langue']);
        $dispo = array('fr_FR','en_US');
        if(in_array($url, $dispo))
        {
            setcookie('langue',$url,time()+60*60*24*365, null, null, false, true);
            header('Location: '.base64_decode($_GET['secu']));
        }
    }
}
?>


Ce problème est aussi présent lors de la connexion pour se souvenir du membre.

Si quelqu'un aurais une idée du problème...

Tester en local et sur hébergement (OVH)

Merci

2 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Dans la fonction setcookie, tu définis la date d'expiration du cookie 1 an après sa création, celui-ci devrait donc se détruire au bout de 365 jours.

    As-tu donc attendu 1 an pour vérifier si le cookie était détruit ? Sinon essaye avec un délai d'expiration plus court.

    Bonne journée
    1
    1. Doy
       
      Salut,

      J'ai essayer avec un cookie d'une durée de 60 secondes.
      0
    2. Doy
       
      Un second exemple du problème:

      <?php
      ...
      if($valeur_user['actif'] == 1)
      {
      	if(!empty($save_login))
      	{
      		AutoLogin($user,$pwd,$valeur_user['id']);
              }
      }
      
      

      Page fonction:
      <?php
      function AutoLogin($user,$pwd,$id)
      {
      	if(!isset($_COOKIE['AutoLogin']))
      	{
      		$nb_login = mysql_query("SELECT COUNT(*) AS nb FROM users WHERE email='".varSecu($user)."' AND password='".Crypton($pwd)."'");
      		$donnes_users = mysql_fetch_assoc($nb_login);
      		if($donnes_users['nb'] >0)
      		{
      			setcookie('AutoLogin_user',$user,time()+10);
      			setcookie('AutoLogin_secute',Crypton($pwd),time()+10);
      			setcookie('AutoLogin_id',$id,time()+10);
      			setcookie('AutoLogin','True',time()+10);
      		}
      	}
      }
      ?>
      
      0
  2. Shadosky Messages postés 7 Statut Membre
     
    Bonsoir, personnellement je déclare mes Cookies pour qu'ils soit valables sur l'ensemble de mon domaine :
    <?php
    setcookie ("AutoLogin_user", $user, time() + $temps, "/", null, false, true);
    ?>

    Puis je le detruis via une page de déconnexion :
    <?php
    setcookie ("AutoLogin_user","false",0,"/", null, false, true);
    ?>


    Je n'ai jamais eu de problème d'expiration ni de suppression avec se code j'espère qu'il seras utile :)
    0
    1. Doy
       
      Salut,
      Merci mais ca ne résout pas mon problème.
      Même en exécutant setcookie ("AutoLogin_user","false",0,"/", null, false, true); sans conditions, mes cookies sont toujours présent :/
      Screen des cookie: http://img108.xooimage.com/files/e/e/9/cookie-46a334d.png
      (j'ai pris le screen 1 minutes après l'expiration du cookie...)
      0
    2. Doy
       
      Problème résolu sur serveur.. plus qu'a trouver "pourquoi"
      0