rgwarrior Posté 10 Avril 2007 Posté 10 Avril 2007 (modifié) bonjour ! bon voila, jcommence à installer un systeme de membre sur mon site web par session et cookies ("se souvenir de moi"), et tout fonctionne très bien, sauf que lors de la deconnection, il y a impossibilité de supprimer les cookies, ce qui fait que le membre reste connecté à vie (enfin pour la durée de vie initiale donnée au cookie, cad 1an, à moins bien sur qu'il l'efface manuellement de son navigateur). Je sais que les cookies ne sont pas supprimés parce qu'au bout de 5 jours, meme après une "deconnection", il y a tjrs la même date d'expiration voici le lien vers le repertoire d'essai de mon site (j'ai pas encore touché au design...): => http://awasagaga.free.fr/apercu/ voici le code de ma page deconnection.php (awasagaga.free.fr/apercu/script/membre/deconnection.php): <?php//Démarrage de la session.session_start();//Ensuite on vérifie que la variable $_SESSION['logged'] existe (et vaut bien true.)if (isset($_SESSION['logged'])) //&& $_SESSION['logged'] == true{ session_destroy(); //Destruction des cookies. setcookie("pseudo"); setcookie("mot_passe"); //Redirection. header("location: ../../droite.php");}else{ //On est pas connecté, alors on redirige le visiteur sur la page d'accueil. header("location: ../../droite.php");}?> j'ai aussi essayé avec setcookie("pseudo", "", time() - 3600, '/', ".awasagaga.free.fr"); setcookie("mot_passe", "", time() - 3600, '/', ".awasagaga.free.fr"); ou encore de désespoir: <script type="text/javascript" language="JavaScript"><!--function EcrireCookie(nom, valeur){var argv=EcrireCookie.arguments;var argc=EcrireCookie.arguments.length;var expires=(argc > 2) ? argv[2] : null;var path=(argc > 3) ? argv[3] : null;var domain=(argc > 4) ? argv[4] : null;var secure=(argc > 5) ? argv[5] : false;document.cookie=nom+"="+escape(valeur)+((expires==null) ? "" : ("; expires="+expires.toGMTString()))+((path==null) ? "" : ("; path="+path))+((domain==null) ? "" : ("; domain="+domain))+((secure==true) ? "; secure" : "");}function EffaceCookie(nom){date=new Date;date.setFullYear(date.getFullYear()-1);EcrireCookie(nom,null,date);}EffaceCookie("pseudo");EffaceCookie("mot_passe");//--></script> vous auriez pas une explication rationnelle svp? Modifié 11 Avril 2007 par Dudu
Anonymus Posté 10 Avril 2007 Posté 10 Avril 2007 Bonjour, Tu as très certainement un problème dans le 'chemin' de ton cookie. Vérifie bien les ss-domaine/domaine/répertoire de ton cookie, il doit y avoir un conflit là dedans.
Findel Posté 11 Avril 2007 Posté 11 Avril 2007 Personellement je casse mes cookies en faisant : setcookie('pseudo', '', time(), '/'); Essai ça, si ça marche mieux
Sarc Posté 11 Avril 2007 Posté 11 Avril 2007 Bonjour, L'erreur la plus fréquente avec les Cookies est l'envoi préalable de header... Une fois, je me suis cassé la tête à cause juste d'un espace au début d'un fichier de configuration, qui empêchait donc que les cookies soient supprimés. Si tu inclues la page deconnection (deconnexion en Français ) dans une page où il y avait déjà eu des données envoyées à l'ordinateur du visiteur, le cookie n'est pas implémenté. Si tu es sur EasyPHP, tu peux configurer PHP pour qu'il affiche la totalité des Warning/Error et vérifier que ce n'est pas ça. Tu peux aussi utiliser une extension Firefox de gestion des cookies pour voir quels ont été les cookies créés par ton site, leurs valeurs, donc voir si ton programme en crée d'autres à la mauvaise adresse (comme signalé auparavant) ou ne crée vraiment rien.
rgwarrior Posté 11 Avril 2007 Auteur Posté 11 Avril 2007 (modifié) bon j'ai fini par trouver, anonymous avait raison (même compris avant de voir son post) j'y avait pas pensé parce qu'il y avait un include qui boulversait toute l'arborescence (si on fait pas attention) merci beaucoup à tous ! Rg Modifié 11 Avril 2007 par rgwarrior
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant