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

PHP & Base de données Discussion :

Récupérer la valeur d'un cookie dans une autre page du site [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut Récupérer la valeur d'un cookie dans une autre page du site
    Bonjour confrères développeurs,

    J'ai un petit souci pour ce qui est de la récupération de la valeur d'un Cookie créé dans une page autre que celle ou je souhaite récupérer et afficher sa valeur.

    Normalement, je crois que mon Code est Bon :

    Dans la page recuperer_ip.php, j'ai utilisé une fonction qui renvoie l'IP du visiteur du site et je la stocke dans un cookie comme suit (ça passe sans le moindre souci) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     setcookie('Naruto',$ip,time()+365*24*3600);
    Mais par contre, quand j'essaie de récupérer la valeur du cookie sur une autre page de mon site, sachant que j'ai bien tapé le code qui y correspond :

    Page : recuperer_cookie.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (isset($_COOKIE['Naruto'])
    { $valeur = $_COOKIE['Naruto']; 
    echo $valeur;}
    ça ne retourne aucun résultat.

    J'ai essayé de reformuler la syntaxe lors de la création en mentionnant le répértoire ou sont stockés mes pages web, mais ça ne marche toujours pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('Naruto',$ip,time()+365*24*3600,'/site/');
    Pour info, je ne travaille pas en local.

    Configuration : Windows 7, Mozilla 3.6.3, IE 8.

    Merci de me donner une petit coup de main

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quand tu dis que l'enregistrement du cookie fonctionne, tu veux dire que tu as vérifié sur le navigateur que le cookie etait présent avec la valeur ?

    Si non, il faut le faire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Effectivement sabotage, j'ai vérifié la présence du cookie sur les 2 navigateurs (IE8 & Mozilla Firefox 3.6.3).

    Sur IE8, j'arrive à trouver le fichier texte correspondant au cookie à travers le chemin : C:\Users\Naruto\AppData\Roaming\Microsoft\Windows\Cookies
    Et sur Mozilla, en accédant à Outils\Options\Vie privée\Supprimer des Cookies Spécifiques, j'arrive à voir le cookie avec la valeur saisie (@ip du visiteur).

    Cependant, au niveau de la récupération de cette même valeur sur ma page PHP, je ne sais pas pourquoi ça n'affiche rien.

    A mon avis, et pour ce qui est de Mozilla : En faisant des recherches sur internet, j'ai constaté que contrairement à IE, les cookies sont stockés dans un fichier "cookies.sqlite" qui est considéré comme une Base de données réservée spécialement et uniquement pour le stockage des Cookies. Y aurait il une solution pour récupérer la valeur d'un cookie se trouvant dans ce fichier ?!! Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tu as essayé de voir ce que contenait $_COOKIE ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    En IE8, c'est bon. J'arrive à récupérer la valeur du COOKIE. Mais sur Firefox, je n'y arrive toujours pas. $_COOKIE ne renvoie rien du tout !!

  6. #6
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('Naruto',$ip,time()+365*24*3600,'/site/');
    Théoriquement, il manque le nom de domaine.
    Peut être que Firefox n'apprécie pas.

    Rajoute le pour voir. (vu que tu est en local, donc soit localhost, soit 127.0.0.1)

    Puis juste comme ça, il y a encore 2 autres paramètres à cette fonction :
    secure (true/false -> pour HTTP ou HTTPS)
    httponly (true/false)
    Il me semble utile de les rajouter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('Naruto', $ip, time()+365*24*3600, '/site/', '127.0.0.1', false, true);
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    RunCodePhp, Merci beaucoup !! C'est bon, j'y suis arrivé. Il fallait l'uploader sur le site en non seulement sur le répertoire ou se trouve la page Web dans laquelle j'envoyais le cookie.

    Fallait s'y prendre comme suit :

    setcookie('des_livres',$ip,time()+365*24*3600, "/", "dev.deslivres.com", 0);

    En tout cas, merci pour tout RunCodePhp et sabortage.

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

Discussions similaires

  1. Récupérer valeurs d'un form dans une autre page html
    Par jacopo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/02/2014, 17h25
  2. Réponses: 7
    Dernier message: 03/03/2011, 08h54
  3. Réponses: 1
    Dernier message: 27/03/2006, 12h55
  4. Récupérer les valeur d'un énuméré dans une string
    Par Oliv_75 dans le forum SL & STL
    Réponses: 5
    Dernier message: 28/09/2005, 00h55
  5. Réponses: 2
    Dernier message: 17/06/2005, 13h38

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