Version complète: sur le forum Webmaster Hub : PHP
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Sans Esprit
Je veux faire une page index.php avec des menu deroulant dont le contenu dependra du menu deroulent au dessus de lui meme :

j'arrive à envoyer et recuperer mes variable mais afin qu'il ne les oublis pas je rajoute des input dans la forme suivante qui va faire perdurer la valeur.

Le probleme est directement sur le deuxieme menu deroulent:

CITATION
<form action="index.php" method="post">
<input name="form1" type="text" value="<? print "$module"; ?>" ><? print "$module"; ?><br>
<input name="form2" type="text" value="<? print "$menu"; ?>" ><? print "$menu"; ?><br>
<input name="Submit3" type="submit" value="Envoyer">
</form>

le resultat est que le premier input reprend bien la valeur et la fait donc perdurer,
le deuxieme input est lui vide alors qu'un simple print maffiche bien la valeur $menu

ais je fait une erreur ?

sinon code complet :
CODE
<?php
$module=$_POST['form1'];
$menu=$_POST['form2'];
$ligne=$_POST['form3'];

$idConnexion = mysql_connect("localhost", "root", "");
$connexionReussie = mysql_select_db("assistance");
$requete = mysql_query("SELECT * FROM faq");
$requete2 = mysql_query("SELECT * FROM faq  WHERE `module` = '$module'");
$requete3 = mysql_query("SELECT * FROM faq  WHERE `menu` = '$menu'"); 

//Mysql_query("INSERT INTO faq (module,menu,ligne,commentaire)"."VALUES ('$module','$menu','$ligne','$commentaire')");

print "<br>le module : $module" ;
print "<br>le resultat du menu : $menu";
print "<br>le resultat du ligne : $ligne";
?>   

<!--- CHOIX DU MODULE ----------------------->

<form action="index.php" method="post" >Choisissez le module concern&eacute :<br>
<select name="form1" id="module">
    <?
  Print '
  <option value="***** MODULE DANS  *****" selected>***** MODULE DANS CRYPTO *****</option>
      <option value="GERANCE">GERANCE</option>
      <option value="SYNDIC">SYNDIC</option>
      <option value="SAISONNIER">SAISONNIER</option>
      <option value="TRANSACTION">TRANSACTION</option>
      <option value="PAGESIMMO">PAGESIMMO</option>
      <option value="ORGANISEUR">ORGANISEUR</option>'
   
  ?>
  </select>
    <br>
    <input name="Submit0" type="submit" value="Envoyer">
</form>
<!--- CHOIX DU MENU ----------------------->
<form action="index.php" method="post">
<select name="form2" id="menu">
    Choisissez le module concern&eacute : <br>
    <?
while ($menu = mysql_fetch_array($requete2)) {
    Print ' <option value='.$menu["menu"].'>'.$menu["menu"].'</option>';};
  ?>
 

</select><br>
<input name="form1" type="hidden" value="<? print "$module"; ?>" >
<input name="Submit1" type="submit" value="Envoyer">
</form>
<!--- CHOIX DE LA LIGNE ----------------------->
Choisissez la ligne dans la liste: <br>

<form action="index.php" method="post">
<select name="form3" id="ligne">
      <? while ($ligne = mysql_fetch_array($requete3)) {
      Print ' <option value='.$ligne["ligne"].'>'.$ligne["ligne"].'</option>
    ';} ?>
    </select><br>
<input name="form1" type="hidden" value="<? print "$module"; ?>" > <? print "$module"; ?>
<input name="form2" type="hidden" value="<? print "$menu"; ?>" ><? print "$menu"; ?><br>
<input name="Submit2" type="submit" value="Envoyer"><br>
</form>


<form action="index.php" method="post">
<input name="form1" type="text" value="<? print "$module"; ?>" ><? print "$module"; ?><br>
<input name="form2" type="text" value="<? print "$menu"; ?>" ><? print "$menu"; ?><br>
<input name="form3" type="text" value="<? print "$ligne"; ?>" ><? print "$ligne"; ?><br>
<br><input name="Submit3" type="submit" value="Envoyer">
</form>
Compte supprimé
CODE
<form action="index.php" method="post" />
<input name="form1" type="text" value="<?php echo $module ?>" /><br />
<input name="form2" type="text" value="<?php echo $menu ?>" /><br />
<input name="Submit3" type="submit" value="Envoyer" />
</form>


J'ai fait un peu le menage...
sarc
Salut !!

Faut pas chercher bien loin :

CODE
while ($menu = mysql_fetch_array($requete2)) {
   Print ' <option value='.$menu["menu"].'>'.$menu["menu"].'</option>';};


Si tu redéclares $menu, ça va pas marcher... wink.gif
Sans Esprit
C'est donc le FORM2 qui gene le FORM3 ?
Comment palier je m'attaque a ce genre de truc depuis deux jour j'ai mal au crane.
sarc
mais non !

Tu as, en gros dans ton programme

$menu = "1";
$menu[0] = "2";

Après, quand tu lui demandes d'afficher $menu, il comprend pas bien le pauvre...

Il faut juste remplacer ces lignes
CODE
while ($menu = mysql_fetch_array($requete2)) {
  Print ' <option value='.$menu["menu"].'>'.$menu["menu"].'</option>';};


Par, par exemple :

CODE
while ($infos_menus = mysql_fetch_array($requete2)) {
  Print ' <option value='.$infos_menus["menu"].'>'.$infos_menus["menu"].'</option>';};


Au moins, tu n'écrases pas la variable menu initiale wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.