Formulaire php de lecture dans bd sql

Résolu
Bonjour a tous
j'ai cree une fomulaire avec listes deroulantes et cases a cocher permettant de lire des donnees dans ma base sql. mais lorsque j'execute ca m'affiche cette erreur:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in d:\test\form.php on line 18

je me casse la tete depuis mais j'y arrive pas. c'est pk je lance ce sos

merci d'avance pour les reponses
Configuration: Windows XP
Firefox 2.0.0.8

8 réponses

  1. Bonjour,

    Un peu de code serait bienvenu pour t'aider à débugger ton problème.

    Raph
    0
    1. voici mon code( ne vous marrez pas pleaz)

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
      <head>
      <title>IMMOb</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      </head>
      <body>
      <p>Veuillez entrer les info pr la recherche de votre future piole:</p>
      <form action="imo.php" method="post">
      <p>
      <label> La ville</label> :<input type="text" name="ville" value="cotonou" /><br />
      Cochez le type d'immobilier que vous recherchez:
      <input type="checkbox" name="villa" id="villa" checked="checked"/> <label for="villa">Villa</label>
      <input type="checkbox" name="appartement" id="appartement" /> <label for="appartement">Appartement</label>
      <input type="checkbox" name="hotel" id="hotel" /> <label for="hotel">Hotel</label><br />

      Veuillez indiquer le nombre de pieces de votre futur immobilier :<br />
      <input type="radio" name="nbp" value="1" id="1" checked="checked"/> <label for="1">1 Piece</label><br />
      <input type="radio" name="nbp" value="2" id="2" /> <label for="2">2 Pieces</label><br />
      <input type="radio" name="nbp" value="3" id="3" /> <label for="3">3 Pieces</label><br />
      <input type="radio" name="nbp" value="4" id="4" /> <label for="4">4 Pieces</label><br />
      <input type="radio" name="nbp" value="5" id="5" /> <label for="5">5 Pieces</label><br />

      Budget entre :<input type="number" name="prix1" /> <label> et</label> :<input type="number" name="prix2" /><br />
      <input type="submit" value="Valider" />
      </p>
      </form>
      <p>Cette page est réservée a ceux ki en on dans la tete ! ;-)</p>
      </body>
      </html>
      if (isset($_POST['ville']))
      {
      <?php
      mysql_connect("localhost","root","");
      mysql_select_db("test");

      $reponse=mysql_query("SELECT * FROM imobloc ") or die(mysql_error());

      while ($donnees=mysql_fetch_array($reponse) )
      {
      if (isset($_POST['villa']) | isset($_POST['appartement']) OR isset($_POST['hotel']))
      {
      if (isset($_POST['prix1']) AND isset($_POST['prix2']))
      {
      if (isset($_POST['nbp']))
      {
      $reponse=mysql_query("SELECT * FROM imobloc WHERE villeloc=$_POST['ville'], typpeloc=$_POST['villa'] | typpeloc=$_POST['appartement'] | typpeloc=$_POST['hotel'],nbr_pieces_loc=$_POST['1'], prixloc >= $_POST['prix1']AND prix <= $_POST['prix2']") or die(mysql_error());
      while ($donnees=mysql_fetch_array($reponse)
      {
      echo $donnees['descriptif'];?><br />
      <?php echo $donnees['prixloc'];?><br />
      <?php echo $donnees['nompro'];?><br />
      <?php echo $donnees['contacts'];?><br />
      <?php echo $donnees['etatloc'];?><br /><?php
      }
      }
      }
      }

      }
      }
      mysql_close();
      ?>
      0
      1. Contributeur
        salut,

        cette erreur là tu l'a croisera des centaines de fois.
        il faut souvent regarder à la ligne précédente (17 pour toi).

        mais en regardant le code, il y a quelque chose qui cloche :
        if (isset($_POST['ville']))
        {
        <?php 

        tu mets du code PHP avant l'ouverture de balise, donc il cherche l'ouverture du 'if()'.
        0
        1. Tu transforme
          if (isset($_POST['ville']))
          {
          <?php
          


          en

          <?php
          if (isset($_POST['ville']))
          {
          


          Bref, c'est ce que suggérait à juste titre notre ami(e) Dalida

          Raph
          0
          1. cool ca marche!
            mais la meme erreur se repete au niveau de la ligne de code:

            $reponse=mysql_query("SELECT * FROM imobloc WHERE villeloc=$_POST['ville'], typpeloc=$_POST['villa'] | typpeloc=$_POST['appartement'] | typpeloc=$_POST['hotel'],nbr_pieces_loc=$_POST['1'], prixloc >= $_POST['prix1']AND prix <= $_POST['prix2']") or die(mysql_error());

            apparement le 'if ' precedant cette ligne de code est inclus dans le code php. alors pourquoi est ce que cette erreur se repete-elle?
            je serai ravis d'etre eclairé la dessus
            merci
            0
            1. Contributeur
              salut,

              en tout cas tu ne peux pas obtenir la valeur de l'élément d'un tableau, à 'intérieur des guillemets.

              et aère ton code si tu veux pouvoir trouver les erreurs !
              $reponse = mysql_query( 'SELECT * FROM imobloc WHERE villeloc='.$_POST['ville'].
              													', typpeloc='.$_POST['villa'].
              													' | typpeloc='.$_POST['appartement'].
              													' | typpeloc='.$_POST['hotel'].
              													', nbr_pieces_loc='.$_POST['1'].
              													', prixloc >= '.$_POST['prix1'].
              													' AND prix <= '.$_POST['prix2'] ) or die(mysql_error());
              
              0
              1. Ca marche!!
                trop cool, big respect et surtout MERCI
                0