Formulaire php

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
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. Alain_42 Messages postés 5413 Statut Membre 904
     
    $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
  2. okuni Messages postés 1325 Statut Membre 126
     
    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']))
    0
  3. Utilisateur anonyme
     
    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
    0
  4. okuni Messages postés 1325 Statut Membre 126
     
    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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    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.
    0
    1. okuni Messages postés 1325 Statut Membre 126
       
      Tu parlais d'une erreur. Quel type d'erreur est-ce?
      0
  7. Utilisateur anonyme
     
    J'ai corrigé l'erreur dans l'exemple
    0