Formulaire php

Résolu
Bonjour,

je vient de bricoler un petit code pour quelqu'un du site.
Ironie du sort, le code ne marche pas.

erreur affiché:

Parse error: parse error in C:\wamp\www\Naranja\Glossaire.php on line 11

code:

<form action='glossaire.php' name='glossaire' method='GET'>
<fieldset>
<legend>Chercher un mot</legend>
<input type='text' name='Mot' /><br />
<center>
<input type='submit' name='glossaire' value='Chercher'/><br />
</center>
</fieldset>
</form>
<?php
if (isset($_GET['Mot']){
$Mot = $_GET['Mot'];
$Existence_mot = mysql_fetch_array(mysql_query('SELECT Mot FROM Glossaire WHERE Mot = "'.$Mot.'"'));
if ($Existence_mot['Mot'] == ""){
echo "Mot non trouvé";
}
else{
$Definition = mysql_fetch_array(mysql_query('SELECT Definition FROM Glossaire WHERE Mot = "'.$Mot.'"'));
echo "Mot: $Mot <br />
Définition: $Definition['Definition']";
}
}
?>

Merci de m'aider
Configuration: Windows XP
Firefox 3.5.5

6 réponses

  1. $Existence_mot = mysql_fetch_array(mysql_query('SELECT Mot FROM Glossaire WHERE Mot = "'.$Mot.'"'));
    if ($Existence_mot['Mot'] == ""){
    echo "Mot non trouvé";
    }


    bizarre comme test ?

    si on ne trouve pas de mot tu ne pourra jamais avoir $Existence_mot['Mot']

    il faut
    $result=mysql_query('SELECT Mot FROM Glossaire WHERE Mot = "'.$Mot.'"');
    if(mysql_num_rows($result)<1){
    //mot non trouvé
    }
    1. Je suppose que tu ne travailles pas avec notepad++ ou un programme similaire qui colore le code et "éclaire" les accolade et autres?
      l'erreur est simple, tu as oublié une parenthèse fermée pour ton if :)

      if (isset($_GET['Mot']))
      1. Oui j'aillait modifier mon message car j'ai reperer cette erreur, mais il y a une autre erreur maintenant:

        Merci en tout cas:

        code final:

        <?php
        if (isset($_GET['Mot'])){
        $Mot = $_GET['Mot'];
        $Existence_mot = mysql_fetch_array(mysql_query('SELECT Mot FROM Glossaire WHERE Mot = "'.$Mot.'"'));
        if ($Existence_mot['Mot'] == ""){
        echo "Mot non trouvé";
        }
        else{
        $Definition = mysql_fetch_array(mysql_query('SELECT Definition FROM Glossaire WHERE Mot = "'.$Mot.'"'));
        $Definition = $Definition['Definition'];
        echo "Mot: $Mot <br />
        Définition: $Definition";
        }
        }
        ?>

        ps: j'utilise notepad
        1. Quel est l'erreur?
          Pour améliorer ton scripts, je te conseille d'utiliser la concaténation, c'est plus pratique :)
          Comme ceci :
          echo 'Mot: '.$Mot.'<br/>Définition: '.$Definition;

          Aussi, tu pourrais prendre la définition du mot lors de ta première requete, même si tu ne l'utilise pas après, tu ne devra faire qu'une requete au lieu de 2.
          1. Si le mot existe, $existence_mot ne sera pas vide et donc on pourra passer a l'etape suivante: mon code marche de toute façon, mais je vais suivre vos conseille.
            1. Tu parlais d'une erreur. Quel type d'erreur est-ce?