Formulaire php de lecture dans bd sql

[Résolu/Fermé]
Signaler
Messages postés
18
Date d'inscription
lundi 14 janvier 2008
Statut
Membre
Dernière intervention
14 avril 2009
-
 mathus28 -
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

8 réponses

Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
Bonjour,

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

Raph
Messages postés
18
Date d'inscription
lundi 14 janvier 2008
Statut
Membre
Dernière intervention
14 avril 2009

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();
?>
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
914
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()'.
ke dois je faire alors?
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
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
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
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
914
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());
Ca marche!!
trop cool, big respect et surtout MERCI