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 :

[Cookies] Le cookie ne se crée pas [Fait]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Points : 44
    Points
    44
    Par défaut [Cookies] Le cookie ne se crée pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <? //ma page index.php
     
      	if(isset($sendaud1)) {
    		setcookie('audience', '1');
    	}
     
            if(isset($sendaud2)) {
    		setcookie('audience', '2');
    	}
    	?>
    <form method="post" action="index.php">
        <input name="sendaud1" type="image" src="images/b_scientifics.JPG" value"images/b_scientifics.JPG"/>
    </form>
    <br>
    <form method="post" action="index.php">
        <input name="sendaud2" type="image" src="images/b_scientifics.JPG" value"images/b_scientifics.JPG"/>
    </form>
    Bonjour, je ne comprends pas pourquoi mes cookies ne se crées pas lorsque je clique sur les différents boutons???
    MErci

  2. #2
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut
    Il est plus propre de récupéré les valeurs de formuaire par l'intermédiaire de $_POST['champ'] même si register_globals est à ON.

    Dans ton cas il vaudrait mieux faire :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      	if(isset($_POST['sendaud1'])) {
    		setcookie('audience', '1');
    	}
     
            if(isset($_POST['sendaud2'])) {
    		setcookie('audience', '2');
    	}
    Such is the situation in our Fallen Galaxy

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Points : 44
    Points
    44
    Par défaut
    j'ai changé ça tout de suite mais j'ai l'impression que le cookie ne se crée toujours pas... est-ce que qqu'un saurait pourquoi ?
    Merci d'avance

  4. #4
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut
    tu y accèdes comment à tes cookie? De la même manière que POST tu dois utiliser $_COOKIE['nom_du_cookie'] pour y accéder.

    Sinon mets un echo dans tes ifs après le set_cookie pour voir si il rentre effectivement dedans.
    Such is the situation in our Fallen Galaxy

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Points : 44
    Points
    44
    Par défaut
    voila l'erreur que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: Cannot modify header information - headers already sent by (output started at /home/www-wdcs-org/shared/cookies.php:7) in /home/www-wdcs-org/shared/cookies.php on line 16
    cookie 2 crée

  6. #6
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut
    Donc j'ai l'impression qu'il rentre bien dans le if. Et si tu test sur ta page un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $_COOKIE['sendaud2'];
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $_COOKIE['sendaud1'];
    ca donne quoi?
    Such is the situation in our Fallen Galaxy

  7. #7
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par babap1
    voila l'erreur que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: Cannot modify header information - headers already sent by (output started at /home/www-wdcs-org/shared/cookies.php:7) in /home/www-wdcs-org/shared/cookies.php on line 16
    cookie 2 crée
    pour corriger cette erreur, regarde là, tout est expliqué :
    http://php.developpez.com/faq/?page=...s_already_sent

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Points : 44
    Points
    44
    Par défaut
    alors voila mon code pour finir, celui qui est à la page : http://www2.wdcs.org/speciesguide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php
    	session_start();
    	 //Is there a cookie for the audience?
    	if (isset($_COOKIE['audience'])) {
    		echo $_COOKIE['audience'];
    	} 
     
    	if(isset($_POST['sendaud1'])) {
    		setcookie('audience', '1');
    		$_COOKIE['audience'];
    	}
     
    	if(isset($_POST['sendaud2'])) {
    		setcookie('audience', '2');
    		$_COOKIE['audience'];
    	}
    ?>
    et à cette page la : http://www2.wdcs.org/speciesguide/browse il affiche 1 si tu as choisit 'scientifics' et 2 si tu as choisit 'kids' ce qui est normal.

    MAis quand je reviens sur la page d'accueil : http://www2.wdcs.org/speciesguide et que j'appuye de nouveau sur les boutons alors une erreur apparait ! Il n'écrase pas tout seul le cookie pour le remplacer?

    Merci.

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par mathieu
    pour corriger cette erreur, regarde là, tout est expliqué :
    http://php.developpez.com/faq/?page=...s_already_sent
    Merci pour l'info. Ca reste quand même pas toujours facile à gérer cette histoire de header....! Même avec un tutos !!
    Dans mon cas, j'ai juste inversé l'ordre des mes includes('') au début de ma page !

    A++

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

Discussions similaires

  1. [PHP 5.3] Le cookie ne se crée pas (plus)
    Par Mazzz dans le forum Langage
    Réponses: 3
    Dernier message: 12/07/2011, 21h45
  2. Les cookies ne se crée pas
    Par orokham dans le forum Langage
    Réponses: 7
    Dernier message: 02/07/2010, 13h04
  3. [Cookies] Le cookie PHPSESSID ne se crée pas
    Par vodnok dans le forum Langage
    Réponses: 7
    Dernier message: 02/07/2007, 15h49
  4. [Cookies] Mes cookies ne sont pas créés
    Par YavaDeus dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2006, 09h41
  5. [JAVA][SERVLET][TOMCAT][COOKIE] addCookie(cookie) marche pas
    Par nickylarson34 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 08/08/2005, 17h58

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