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 :

Problème de récupération de cookie


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Par défaut Problème de récupération de cookie
    Bonjour,

    je fait actuellement face à un problème de cookie dans mon script PHP d'inscription a une newsletter.

    Je possède trois pages php :

    1ere étape : La page index.php > Demande a l'utilisateur son mail, et des infos comme sa société, son nom... Via un formulaire.

    2eme étape : La page index_post.php > Traite les données envoyées en POST par le formulaire, créé un cookie pour chaque information (email, nom, societe, statut, secteur).
    Un message indiquant que tout s'est bien déroulé s'affiche et envoie un mail de confirmation avec un lien sous la forme http://monsite.fr/newsletter/inscrip...onmail@mail.fr

    3eme étape : La page inscription.php > Récupère l'adresse email via un GET, récupère les infos du client (nom société statut secteur) dans les cookies du même nom et les assigne à des variables afin de les insérer dans la BDD MySQL.


    Le problème survient au niveau de l'étape 3. J'ai un beau
    "Notice: Undefined variable: secteur in /www/newsletter/inscription.php on line 21"
    Notice: Undefined variable: nom in /www/newsletter/inscription.php on line 21"
    Notice: Undefined variable: statut in /www/newsletter/inscription.php on line 21"
    Notice: Undefined variable: societe in /www/newsletter/inscription.php on line 21"
    Pourtant, lorsque je regarde mes cookies dans mon navigateur, ils sont bien tous présents :



    Ils ont bien les valeurs escomptés.

    Le code que j'utilise pour assigner les valeurs des cookies aux variables est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $secteur = $_COOKIE['secteur'];
    J'ai essayé avec isset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset( $_COOKIE['nom']))
    			{	$nom = $_COOKIE['nom']; } else { echo "marchera pas"; }
    Cela m'écrit "marchera pas", le cookie n’existe donc pas pour le navigateur...

    J'ai également essayé avec un système de session, mais rien n'y fait.
    On dirait que je change de nom de domaine (comme vous pouvez le voir sur mon screen, opera divise mon site en deux parties comme si les noms de domaines n'étaient pas les mêmes... C'est peut-être pour ça qu'ils ne sont pas accessibles. Pourtant toutes les pages on le même dossier racine sur le serveur et donc le même nom de domaine logiquement ...

    PS : Je viens de tester de créer une page php ne contenant seulement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    echo $_COOKIE['secteur'];?>
    Je l'ai mise dans le même dossier racine que les autres, et le cookie affiche bien son contenu ... Ce qui prouve que mes cookies sont bien faits...

    Dans ma page index_post.php, les cookies sont créés de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	<?php
     
    	$_POST['nom'] = $nom;
    	$_POST['secteur'] = $secteur;
    	$_POST['statut'] = $statut;
    	$_POST['societe'] = $societe;
    	$_POST['email'] = $email;
     
    	setcookie('nom', $nom, time()+2005);
    	setcookie('secteur', $secteur, time()+2005);
    	setcookie('statut', $statut, time()+2005);
    	setcookie('societe', $societe, time()+2005);
    	setcookie('email', $email, time()+2005);
    	?>
    Help


    Merci d'avance à ceux qui auront pris le temps de me lire.


    Yannis.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 28
    Par défaut
    Problème résolu, il fallait que je spécifie au cookie d'être dispo sur tout le serveur et non pas seulement au sous domaine www :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('nom', $nom, (time()+2005), '/', '.equipefrancedouane.fr');
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('nom', $nom, (time()+2005));

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 22/08/2007, 14h21
  2. [hibernate]Problème de récupération d'objet...
    Par roxx62 dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/07/2005, 11h36
  3. Réponses: 8
    Dernier message: 12/05/2005, 08h16
  4. Nouveau problème de récupération de valeurs.
    Par pmboutteau dans le forum ASP
    Réponses: 4
    Dernier message: 09/03/2005, 10h48
  5. Problème de récupération de texte de formulaire
    Par bigourson dans le forum Langage
    Réponses: 4
    Dernier message: 15/09/2004, 16h27

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