IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Suppression de cookie [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut Suppression de cookie
    Bonjour,

    Je ne comprend pas un truc concernant la suppression des cookies... J'ai beau faire des tests pour supprimer le cookie, cela ne veut pas marcher...

    Dans ma fonction logout(), j'ai la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie($this->cookieNom, '', time() - 3600 );
    Le cookie est donc sensé changer de date pour l'heure courant - 3600 s (- 1h)... Mais malheureusement, lorsque j'affiche les cookies dans firefox 10.0.2 (Mac), cela ne change rien.

    J'ai également fait les tests suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    setcookie($this->cookieNom, '', time() - 3600 , '/' );
    setcookie('nomducookie', '', time() - 3600 , '/' );
    setcookie('nomducookie'); 
    setcookie('nomducookie', '', 1 , '/' );
    setcookie('nomducookie', '', 1 );
    Sur le site de PHP j'ai pourtant trouvé l'info suivante :
    "Tous les arguments sauf name (nom) sont optionnels. Si seul le nom est présent, le cookie portant ce nom sera supprimé du navigateur de l'internaute. " (http://php.net/manual/fr/function.setcookie.php) Ce qui est contraire à tout ce que j'ai pu lire sur le sujet... Puisque de partout il est indiqué qu'il faut changer cette fichue date d'expération.

    Quelqu'un aurait-il une idée ???

    Merci par avance,

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Bonjour,
    Les cookies doivent être effacés avec les mêmes paramètres que ceux utilisés lors de leur création. Si l'argument value est une chaîne vide ou vaut FALSE et que les autres arguments sont exactement les mêmes que lors du positionnement du cookie, alors le cookie sera effacé du client.
    Mais aussi : Pour effacer un cookie sur le client, vous devez toujours vous assurer que sa date d'expiration est passée, pour déclencher le mécanisme du navigateur client.
    Source la doc : http://php.net/manual/fr/function.setcookie.php

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut
    Mea maxima culpa...

    En réalité cela fonctionne... Le truc c'est que dans la fenêtre de visualisation des cookies, la date d'expiration en changeait pas contrairement au cookie d'un autre site sur lequel j'avais fait le test.

    Je croyais donc que cela ne fonctionnait pas ! Mais en réalité cela fonctionne bien ! Même si je ne m'explique pas le comportement de firefox...

    J'ai quand même ajouté le domaine dans les paramètres de suppression du cookie, vu que je l'avais dans la création (ça fonctionne sans, mais bon autant être plus propre)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie($this->cookieNom ,'',time()-3600 , '/', $this->cookieDomaine);
    En tout cas merci quand même pour le temps que je t'ai fait perdre philodido !

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Pas de problème, je pensais qu'il fallait obligatoirement mettre le domaine pour supprimer, si on l'avait mis à la création, d'ailleurs c'est ce que semble indiquer la doc. Après ça dépend peut être du navigateur, t'as bien fait de le mettre qu'en même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression de cookies impossible
    Par milman dans le forum Langage
    Réponses: 2
    Dernier message: 04/11/2010, 14h54
  2. Suppression de cookies avec Request
    Par Juju54350 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 11/10/2010, 15h47
  3. suppression de Cookies
    Par -Neo- dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/02/2009, 08h59
  4. [Cookies] suppression de cookie et de session
    Par LarZuK dans le forum Langage
    Réponses: 5
    Dernier message: 06/02/2006, 20h01
  5. Suppression de cookies
    Par NeHuS dans le forum ASP
    Réponses: 5
    Dernier message: 06/01/2005, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo