Liste deroulante php/mysql

mgdiallo Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
loveparade Messages postés 506 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je suis débutant en PHP et je fais un e commerce. mon souci est de filtrer les enregistrements de ma base à partir des valeurs choisies dans des listes déroulantes.
voici mon code:
première fenêtre: c'est ici on fait le choix à partir des listes déroulantes
<?php
$Forme = isset($_POST['Forme']) ? $_POST['Forme'] : '';
$Poids = isset($_POST['Poids']) ? $_POST['Poids'] : '';
$Couleur = isset($_POST['Couleur']) ? $_POST['Couleur'] : '';
$Purete = isset($_POST['Purete']) ? $_POST['Purete'] : '';

?>

<form action="deuxiemePage.php" method="POST">
<LABEL><strong>Forme</strong></label>
<select name="Forme">
<option>Coeur</option>
<option>Round</option>
<option>Pear</option>
<option>Ovale</option>
<option>Poire</option>
<option>Princesse</option>
<option>Radiant</option>
<option>Ronde</option>
<option>Triangle</option>
</select><br /><br />

<LABEL><strong>Poids</strong></label>
<select name="Poids">
<option>0.30-0.45</option>
<option>0.46-0.65</option>
<option>0.66-0.80</option>
<option>0.81-0.95</option>
<option>0.96-1.05</option>
<option>1.06-1.45</option>
<option>1.46-1.95</option>
<option>1.96-2.00</option>
<option>2.01-3.00</option>
<option>3.01-5.00</option>
<option>5.01-7.00</option>
<option>7.01-10.50</option>
</select><br /><br />

<LABEL><strong>Couleur</strong></label>
<select name="Couleur">
<option>D</option>
<option>E</option>
<option>F</option>
<option>G</option>
<option>H</option>
<option>I</option>
<option>J</option>
<option>K</option>
<option>L</option>
<option>M</option>
</select><br /><br />

<LABEL><strong>Pureté</strong></label>
<select name="Purete">
<option value="IF">IF</option>
<option value="SI1">SI1</option>
<option value="SI2">SI2</option>
<option value="VS1">VS1</option>
<option value="VS2">VS2</option>
<option value="VVS1">VS1</option>
<option value="VVS2">VS2</option>
</select><br /> <br />
<label></label>

<input type="submit" value="Valider"/>
</form>

deuxième page: c'est ici on fait la requête qui fait la restriction par rapport aux valeurs choisies dans les listes déroulante de la page précédente.
<?php
$liendb = mysql_connect($bddserver, $bddlogin, $bddpassword);
mysql_select_db($bdd);

$sql = "select * from table where Couleur= $Couleur and Forme= $Forme";
$resultat = mysql_query ($sql);
while ($table = mysql_fetch_array($resultat))
{
print("<b>");print(" - ");
print("<a href=".$_SERVER['PHP_SELF']."?id=".$table['Reference'].">".
$table['Reference'].
$table['Forme'].
$table['Taille'].
$table['Couleur'].
$table['Purete']."</a>");print("    ");
print($table['PrixTotal']);print(" CHF");print("</b>");
print("<br/>");
}

?>

merci d'avance
A voir également:

3 réponses

loveparade Messages postés 506 Date d'inscription   Statut Membre Dernière intervention   60
 
Juste pour infos, ton code n'est pas sécurisé, avant de faire des sites apprenez a sécuriser vos codes ...
0
mgdiallo Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   13
 
merci de m'avoir répondu. qu'est ce que dois rajouter pour lui rendre en sécurité et qu'est ce que dois modifier sur le code pour résoudre le problème initial.
merci d'avance
0
loveparade Messages postés 506 Date d'inscription   Statut Membre Dernière intervention   60
 
1. Dans tes options tu as oublié d'assinger une valeur
ex :
<option value="italie">Italie</option> et non <option>Italie</option>


2. htmlentities() pour securiser un minimum tes variables lors de ta requete sql => https://www.php.net/htmlentities
ex :
$query = mysql_query('SELECT * FROM matable WHERE name = "'.htmlentities($_POST['name']).'"');

ou
$Couleur = isset($_POST['Couleur']) ? htmlentities($_POST['Couleur']) : ''; 

0