Merci d'utiliser mes bidules !
Sinon pour tes scripts ce que tu décris n'est pas normal, comment récupèrement tu les variables "d'une page à l'autre" comme tu dis ?
Tu utilises bien un des tableaux $_GET ou $_POST ? Si oui il ne devrait pas avoir de problème avec register_globals = Off, sinon tu devrais changer ton code et les utiliser eux !
Oula non, c'est plus simple que ça ...
bon je vais expliquer dans le détail ma façon de faire, puis non, je met le code ... c'est encore plus simple :
Bloc de code:
Etape 1 : La catégorie de votre véhicule<br>
<form name="form_ChoixForme" method="POST" >
<select name="ChoixForme" onChange="this.form.submit();">
<?
$qryformes = mysql_query("SELECT * FROM sg_Formes ORDER BY Nom_Forme ASC");
$NbFormes=mysql_num_rows($qryformes);
if ($ChoixForme == '') {echo "<option value=''>Choisissez</option>";}
$i=0;
while($i < $NbFormes)
{
$idForme=mysql_result($sqlformes ,$i,"id_Forme");
$NomForme=mysql_result($sqlformes ,$i,"Nom_Forme");
echo "<option value='$idForme'";
if($ChoixForme == $idForme){
echo"selected='selected'";
}
echo">$NomForme </option>";
$i++;
}
?>
</select>
</form>
<?
//if ($ChoixForme != '') {echo 'Etape 1 OK - ' . $ChoixForme ;}
?>
Etape 2 : La marque de votre véhicule<br>
<form name="form_ChoixMarque" method="post" >
<select name="ChoixMarque" onChange="this.form.submit();">
<?
if ($ChoixMarque == '') {echo "<option value=''>Choisissez</option>";}
$sqlmarques = mysql_query("SELECT * FROM sg_Marques_Voitures ORDER BY Nom_Marque ASC");
$NbreMarques=mysql_num_rows($sqlmarques);
$i=0;
while($i < $NbreMarques)
{
$idMarque=mysql_result($sqlmarques ,$i,"id_Marque");
$NomMarque=mysql_result($sqlmarques ,$i,"Nom_Marque");
echo "<option value='$idMarque'";
if($ChoixMarque== $idMarque){
echo"selected='selected'";
}
echo">$NomMarque </option>";
$i++;
}
?>
</select>
<input name="ChoixForme" type="hidden" value="<? echo $ChoixForme;?>">
</form>
<?
//if ($ChoixMarque != '') {echo 'Etape 2 OK - ' . $ChoixMarque ;}
?>
Etape 3 : Le modèle de votre véhicule<br>
<form name="form_ChoixModele" method="post" >
<select name="ChoixModele" onChange="this.form.submit();">
<?
if ($ChoixModele == '') {echo "<option value=''>Choisissez</option>";}
$sqlmodeles = mysql_query("SELECT * FROM sg_Modeles_Voitures WHERE id_Forme = $ChoixForme AND id_Mark = $ChoixMarque ORDER BY Nom_Modele");
$NbreModeles=mysql_num_rows($sqlmodeles);
$i=0;
while($i < $NbreModeles)
{
$idModele=mysql_result($sqlmodeles ,$i,"id_Modele");
$NomModele=mysql_result($sqlmodeles ,$i,"Nom_Modele");
$AnModele=mysql_result($sqlmodeles ,$i,"An_Modele");
echo "<option value='$idModele'";
if($ChoixModele == $idModele){
echo"selected='selected'";
}
echo">$NomModele $AnModele </option>";
$i++;
}
?>
</select>
<input name="ChoixForme" type="hidden" value="<? echo $ChoixForme;?>">
<input name="ChoixMarque" type="hidden" value="<? echo $ChoixMarque;?>">
</form>
En fait, c'est 3 formulaire avec une simple liste <select> qui se charge via une bdd.
le 1er donne le type de véhicule,
le 2ème la marque
et le 3ème, en fonction des variables 1 et 2 détermine le modèle de voiture ...
Le tout rechargeant la même page à chaque fois ...
Par exemple :
Type de voiture : 4x4
Marque : Bmw
--> modèle : X5 et X3 mais pas les autres modèles de bmw (genre berlines ou autre) ...
Mm pas très clair tout ça, non ?