PHP - Lecture de cookie

Salut à tous !

Je recontre un petit problème avec un script php. J'ai créé un cookie avec la fonction "setcookie()".
Ce cookie s'appelle bonjour, et a pour valeur hello.

Or, quand j'appelle ce cookie via $_COOKIE['bonjour'], j'ai un message d'erreur qui me dit :

Notice: Undefined index: bonjour in C:\Program Files\EasyPHP 3.0\www\monsite\index.php on line 10

Mais pourtant, si je regarde la liste de mes cookies (via les options), le cookie "bonjour" est bien présent, et a pour contenu "hello".

Ma question donc : qu'ai-je mal fait ?

Merci déjà !

Benibis
Configuration: Windows XP Home Edition (SP3)
3 GB DDR2
AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
nVidia Corporation GeForce 8400 GS (256 Mo)

8 réponses

  1. bonjour,

    peut-on avoir le code en question de la ligne 0 à 15 ou au complet .

    bonne soirée
    0
    1. Bonjour,

      Voici le code :

      <?php
      
      include('***');
      include('***');
      
      include('***');
      
      $displayElse='style="display:none;"';
      $displayLog='';
      $connecte=$_COOKIE['bonjour'];
      
      if (isset($_COOKIE['bonjour'])){
      	$connecte=$_COOKIE['bonjour'];
      	if($_COOKIE['bonjour']=='hello'){
      		$displayLog='style="display:none;"';
      		$displayElse='';}
      	else {
      		$displayElse='style="display:none;"';
      		$displayLog='';}
      }
      ?>
      <div id="gauche">
      <!-- Bloc de login / Création de compte-->
      	<div id="login" <?php echo $displayLog;?>>
      
      (...)
      


      Maintenant, j'ai essayé avec des sessions, et ça à l'air de fonctionner... Mais je suis quand même interessé par une éventuelle solution pour les cookies, ne serait-ce que pour ma culture...

      Merci !

      Benibis
      0
      1. supprime la ligne ;

        $displayElse='style="display:none;"';
        $displayLog='';
        $connecte=$_COOKIE['bonjour'];


        elle sert a rien car tu recrée la même variable après
        0
        1. Ah oui, juste. Elle provient d'un test que j'ai fait en changeant le script, et je ne l'ai pas effacée. Mais elle ne change rien au problème de lecture de cookie, malheureusement...
          0
          1. bonsoir

            essai de faire un:
            echo $_COOKIE['bonjour'];
            pour voir le cookies est bien créé !

            car j'avais eu des problème avec EasyPHP il ne créait pas les cookies !

            bonne soirée
            0
            1. Non, j'ai déjà essayé, et il met la même erreur. Visiblement, le problème n'est pas à la création du cookie (je le vois via les options de firefox), mais la lecture. Il m'affiche "undefined index : bonjour". Or, toujours selon firefox, "bonjour" est bien défini et a pour valeur "hello". Et du coup, forcément, j'y comprend plus rien...
              0
              1. bonsoir,

                essai comm suit;

                met le code suivant dans un nouveau fichier.php (que le code rien d"autre) si tu as une erreur, appuie sur F5
                <?php
                // je cree un cookies pour informer le visiteur si il les a desactive
                	setcookie('test[test]', 'ok', (time() + 3600));
                echo 'test contenu '.$_COOKIE['test']['test'];
                ?>


                tu devrais avoir le message suivant : test contenu ok

                bonne soirée
                0
                1. Bonjour !

                  Désolé pour la semaine d'absence, j'étais en vacances. Je viens d'essayer ce script, et effectivement, il m'affiche le résultat voulu... Vos conclusions, docteur ? ;-) Parce que je ne vois toujours pas en quoi mon code diffère de celui-ci...

                  En tout cas, merci de chercher, c'est sympa. Mais ne te casse pas la tête, parce que comme je l'ai dit plus haut, ça marche avec les sessions, donc j'ai gardé cette solution.

                  Je laisse néanmoins le sujet ouvert, parce que j'ai beau avoir trouvé une parade, ça ne résout en rien le problème qui me préoccupait...

                  Benibis
                  0