[PHP] Suppression de cookie

albanism Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
albanism Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je rencontre un problème de suppression de cookie que j'utilise pour conserver mes utilisateurs "loggés" même lorsque le navigateurs est fermé.

Pour la création et l'utilisation des cookies aucun soucis, tout marche très bien. Mais lorsque je tente de supprimer le cookie (ce qui correspond à l'action de se déconnecter pour un utilisateur, le coockie n'est pas supprimer.

Je me suis renseigné un peu sur le sujet mais je ne vois pas l'erreur. En fait, je ne vois même pas d'où peut venir l'erreur tant la mapinulation semble simple en théorie.

Voici mon code appelé pour supprimer mon coockie :

setcookie ("nickName", "", time() - 3600);


La ligne du dessous contient :
if(isset($HTTP_COOKIE_VARS['nickName']))
	echo "Cookie non supprimé";

Et affiche bien "Cookie non supprimé".

Avez-vous une explication ?

Si cela peut aider, je travail sur une version local du site. Est-ce que ça pourrait venir de là ?

Bien cordialement,
A voir également:

3 réponses

P@t@ch0n Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   85
 
Toute action sur les cookies n'est visible qu'après rechargement de pages.
0
albanism Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Ok, je viens de prendre en compte ta remarque mais le problème n'est pas résolu.

Je le fais sur un exemple simple :

fichier1.php : création du cookie
<?php
setcookie("test", "unCookie", time() + (365*24*3600), "/");
?>


fichier2.php : Destruction du cookie
<?php
setcookie("test");
?>


fichier3.php : test de l'existance du cookie
<?php
if(!isset($HTTP_COOKIE_VARS['test']))
	echo 'cookie enlevé';
else
        echo 'cookie encore présent';
?>


J'execute le fichier1.php, puis fichier2.php, puis fichier2.php.

L'affichage du fichier3.php estcookie encore présent.

As-tu une idée de ce que je fais mal ? (j'ai détruit tout les cookies existants avant de faire le teste).

D'avance merci.

PS : en complément, je regarde l'évolution des cookies : l'execution de fichier1.php crée un cookie de nom test et de contenu unCookie (normal, tout se passe bien). L'execution de fichier2.php crée un second cookie de même nom mais vide cette fois-ci. Cela indique-t-il que le problème vient de la configuration de mon serveur local ?
0
albanism Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Ok, je me réponds à moi-même pour dire que j'ai trouvé la solution. Où plutôt le problème :

Chez moi,
setcookie(nomDuCookie);

ne suffit pas à supprimer un cookie. Je dois faire
setCookie("test", "", (time() - 3600), '/');


Maintenant que le problème est résolue, j'aimerai comprendre pourquoi. Je viens de faire le teste et le serveur (indépendant) sur lequel je suis fonctionne de la même manière.

Dans l'attente d'une lumière...

Merci !

PS : c'etait mon premier poste sur ce forum et je l'ai résolue moi-même ^^
0