Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de récupération de variables

Sujet résolu
    1 septembre 2006 à 18:05:46

    Donc voilà, j'ai créé une page où le visiteur me transmet, par le biais de boutons radio, des informations (method="get"). Ensuite, j'ai une page où j'affiche des trucs différents suivants ce que le visiteur a répondu. Voici le code :
    if (isset($_GET['q_un']))
    {
    echo '<h3>Qu&#39;est-ce qu&#39;une uchronie ?</h3>';
    echo '<p>';

            if ($_GET['q_un'] == 1)
    {
    echo '<span class="faux">Un paradoxe résultant d&#39;un voyage dans le temps</span><br>
    <span class="juste">Un genre de la science-fiction reposant sur l&#39;idée qu&#39;un &eacute;v&egrave;nement pass&eacute; important ne se soit pas déroul&eacute; ou se soit déroul&eacute; diff&eacute;ramment</span><br>
    <span class="autre">Un saut dans le temps</span><br><br>'
    ;
    echo '<span class="explication">Une uchronie est un genre litt&eacute;raire bas&eacute; sur l&#39;id&eacute;e qu&#39;un &eacute;v&egrave;nement important se soit d&eacute;roul&eacute; diff&eacute;ramment de ce qui est arriv&eacute; dans le monde &quot;r&eacute;el&quot;</span>';
    }



    elseif ($_GET['q_un'] == 2)
    {echo '<span class="autre">' . $reponse1 . ' </span><br> ' . $reponse2 . '<br><span class="autre"> ' . $reponse3 . '</span><br><br>';
    echo '<span class="juste">Bravo, votre r&eacute;ponse est correcte !</span>';
    $score++;
    $score++;
    }

    elseif ($_GET['q_un'] == 3)
    {echo '<span class="autre">' . $reponse1 . '</span><br> ' . $reponse2 . '<br><span class="faux"> ' . $reponse3 . '</span><br><br>';
    echo '<span class="explication">Une uchronie est un genre litt&eacute;raire bas&eacute; sur l&#39;id&eacute;e qu&#39;un &eacute;v&egrave;nement important se soit d&eacute;roul&eacute; diff&eacute;ramment de ce qui est arriv&eacute; dans le monde &quot;r&eacute;el&quot;</span>';

    }
    else
    {
    echo 'Euh, vous &ecirc;tes s&ucirc;r que vous n&#39;avez pas trich&eacute; ???';}
     }
     
     else{
     echo '<p>Vous n&#39;avez pas r&eacute;pondu &agrave; cette question !';
     }
     echo '<br><br></p>';


    Voilà. Je teste et je regarde dans mon navigateur et je vois ça en haut :
    http://science-fiction-4e2.chez-alice.fr/quizz_correction.php?q_un=2


    Donc normalement, ça devrait m'afficher un tru avec un "Bravo..." mais non ! Ca m'affiche "vous n'avez pas répondu à cette question ! "
    En local ça marche, mais pas en ligne...
    Quelqu'un pourrait-il me dire où se trouve mon erreur ? Merci
    • Partager sur Facebook
    • Partager sur Twitter
      1 septembre 2006 à 18:12:52

      Un conseil : enlève tous les accents de ton code php et modifie ton post. Parce que là on a du mal à lire et en plus ça donne pas envie.
      • Partager sur Facebook
      • Partager sur Twitter
        1 septembre 2006 à 18:19:57

        Bon OK d'accord, voici le code sans les &quelquechose;


        <?php
        if (isset($_GET['q_un']))
        {
        echo '<h3>Qu\'est-ce qu\'une uchronie ?</h3>';
        echo '<p>';

                if ($_GET['q_un'] == 1)
        {
        echo '<span class="faux">Un paradoxe résultant d\'un voyage dans le temps</span><br>
        <span class="juste">Un genre de la science-fiction reposant sur l\'idée qu\'un évènement passé important ne se soit pas déroulé ou se soit déroulé différamment</span><br>
        <span class="autre">Un saut dans le temps</span><br><br>';
        echo '
        <span class="explication">Une uchronie est un genre littéraire basé sur l\'idée qu\'un évènement important se soit déroulé différamment de ce qui est arrivé dans le monde "réel"</span>';
        }



        elseif ($_GET['
        q_un'] == 2)
        {echo '
        <span class="autre">' . $reponse1 . ' </span><br> ' . $reponse2 . '<br><span class="autre"> ' . $reponse3 . '</span><br><br>';
        echo '
        <span class="juste">Bravo, votre réponse est correcte !</span>';
        $score++;
        $score++;
        }

        elseif ($_GET['
        q_un'] == 3)
        {echo '
        <span class="autre">' . $reponse1 . '</span><br> ' . $reponse2 . '<br><span class="faux"> ' . $reponse3 . '</span><br><br>';
        echo '
        <span class="explication">Une uchronie est un genre littéraire basé sur l\'idée qu\'un évènement important se soit déroulé différamment de ce qui est arrivé dans le monde "réel"</span>';

        }
        else
        {
        echo '
        Euh, vous êtes sûr que vous n\'avez pas triché ???';}
         }
         
         else{
         echo '<p>Vous n\'avez pas répondu à cette question !';
         }
         echo '
        <br><br></p>';?> 
        • Partager sur Facebook
        • Partager sur Twitter
          1 septembre 2006 à 18:27:35

          Il y a deux else{} à la fin... Essayes de remplacer le premier par un elseif{}.

          EDIT : Ah non en fait il manque un } ! (Enfin je crois).
          • Partager sur Facebook
          • Partager sur Twitter
            1 septembre 2006 à 18:48:36

            les else, c'est pour m'indiquer si quelqu'un a entré une valeur de variable que je n'avais pas mise sur ma première page... mais bon, je crois que je vais aller sur un forum concernant mon hébergeur car je crois que celui-ci refuse d'afficher ou de pouvoir utiliser des variables (mais bien entendu accepte le PHP.. GRRRRRR)...
            • Partager sur Facebook
            • Partager sur Twitter
              1 septembre 2006 à 19:53:32

              euh le php sans variable c'est moins utile quand meme...

              essai déja avec la paranthèse du premier if en plus (et me des tabulations dans tes conditions pr la lisibilité!!)..


              else
              {
              echo 'Euh, vous êtes sûr que vous n\'avez pas triché ???';}
               }

              }
               
              else{
               echo '
              <p>Vous n\'avez pas répondu à cette question !';
               }
               echo '<br><br></p>';?>
              • Partager sur Facebook
              • Partager sur Twitter
                1 septembre 2006 à 20:22:09

                euh... paranthèse du premier if ? ^_^"
                • Partager sur Facebook
                • Partager sur Twitter
                  1 septembre 2006 à 20:24:33

                  C'est bien ce que je t'ai dit... Tu peux mettre le sujet en résolu, si ça marche.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    1 septembre 2006 à 20:39:00

                    j'ai pas compris ce que vous vouliez dire avec "paranthèse du premier if" : je rajoute quoi, j'enlève quoi ?

                    Edit : aux dernières essais, mon hébergeur accepte les variables "normales" mais... pas les variables GET ni POST !!! Génial, non ?

                    Edit 2 : ça me donne une parse error si je mets une deuxième accolade -_-
                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 septembre 2006 à 21:21:40

                      Ah nan autant pour moi tu as déja refermé la parenthèse de ta deuxième condition mais à la fin de la ligne, je sais po, change d'hebergeur ;)

                      EDIT: J'ai peut être trouvé un truc qui pourrai t'aider: si ton serveur marche sur une version de php inférieur à 4.1, les variable globale n'avaient pas été raccourci

                      $_GET =>$HTTP_GET_VARS
                      $_POST =>$HTTP_POST_VARS

                      essai les noms complet, si sa marche pas, essai la fonction extract()
                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 septembre 2006 à 16:12:17

                        Merci les gars mais j'ai trouvé la solution au problème !! En fait, par hasard, j'ai voulu voir ce que ca donne en remplassant les $_GET['q_un] par des $q_un... et vous savez quoi ?? Ca a marché !!! Je sais pas pourquoi, mais bon, l'essentiel, c'est que ca marche, non ? ^^ (désolé pour les c cédilles, je suis sur un clavier allemand en ce moment et il n'en n'a pas -_-)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 septembre 2006 à 18:12:26

                          Ca rejoint ce que je disais, ton serverur chez alice tourne sur une version de php inférieur à 4.1. Va voir cette page http://www.phpdebutant.org/article113.php .

                          Mais tu devrais changer de serveur car cette option entraine des failles de sécurité
                          • Partager sur Facebook
                          • Partager sur Twitter
                            2 septembre 2006 à 19:39:54

                            hmmm... jusque maintenant, ça ne pose pas de vrais problèmes vu que je n'affiche pas les variables récupérées par le formulaire, je les récupère juste puis j'affiche un message différent suivant la valeur de ces variables... donc normalement ça ne dervait pas poser de problèmes, non ? ^^
                            Mais bon, je m'en souviendrais, c'est sûr ! ^^
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Problème de récupération de variables

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown