Cookie qui ne se détruit pas

Résolu/Fermé
Doy - Modifié par Doy le 11/07/2014 à 13:40
 Doy - 12 juil. 2014 à 11:33
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

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
11 juil. 2014 à 14:19
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
Salut,

J'ai essayer avec un cookie d'une durée de 60 secondes.
0
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
Shadosky Messages postés 7 Date d'inscription samedi 12 juillet 2014 Statut Membre Dernière intervention 12 juillet 2014
12 juil. 2014 à 05:29
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
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
Problème résolu sur serveur.. plus qu'a trouver "pourquoi"
0