Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1534 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  valeur de la selection d'une liste déroulante dans une variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

valeur de la selection d'une liste déroulante dans une variable

n°1511499
Moriaben
Posté le 06-02-2007 à 17:07:39  profilanswer
 

Bonjour à tous,
 
j'ai créé une liste déroulante (avec des echo) dans du code php et je cherche à récupérer directement le choix de l'utilisateur dans une variable

Code :
  1. <?php
  2. echo "Select output:<br>";
  3. echo '<form method="post">
  4. <select name="output">';
  5. echo '<option value="VGA60">VGA 60Hz</option>';
  6. echo '<option value="VGA75">VGA 75Hz</option>';
  7. echo '<option value="SVGA60">SVGA 60Hz</option>';
  8. echo '<option value="SVGA75">SVGA 75Hz</option>';
  9. echo '<option value="XGA60">XGA 60Hz</option>';
  10. echo '<option value="XGA75">XGA 75Hz</option>';
  11. echo '<option value="SXGA60">SXGA 60Hz</option>';
  12. echo '<option value="SXGA75">SXGA 75Hz</option>';
  13. echo '<option value="UXGA60">UXGA 60Hz</option>';
  14. echo '<option value="720p">720p</option>';
  15. echo '<option value="1080i">1080i</option>';
  16. echo '<option value="AES">AES/EBU</option>';
  17. echo '</select>
  18. </form>';


 
comment je récupère "value" de la liste dans une variable, cette variable devant etre modifiée automatiquement en fonction du choix dans la liste (pas de refresh de la page)?
 
merci d'avance !

mood
Publicité
Posté le 06-02-2007 à 17:07:39  profilanswer
 

n°1511503
skeye
Posté le 06-02-2007 à 17:21:45  profilanswer
 

Tu fais pas.
Le php s'exécute sur le serveur, donc tu n'auras rien dans une variable php sans refresh.


---------------
Can't buy what I want because it's free -
n°1511511
Moriaben
Posté le 06-02-2007 à 17:36:00  profilanswer
 

ok alors vu que j'ai 2 listes déroulantes et 2 checkbox, comment je peux faire pour me rediriger vers une autre page php avec les 4 infos dont j'ai besoin d'un seul coup?
 

Code :
  1. <?php
  2. $homedir="C:\dossier";
  3. $dir=opendir($homedir);
  4. echo "Select file to play:<br>";
  5. echo '<form method="post">
  6. <select name="file">';
  7. while ($file = readdir($dir))
  8. {
  9.  if (($file!="." )&&($file!=".." ))
  10.  echo '<option value="$file">'.$file.'</option>';
  11. }
  12. echo '</select>';
  13. closedir($dir);
  14. echo "<br>";
  15. echo "Select output:<br>";
  16. echo '<form method="post">
  17. <select name="output">';
  18.  echo '<option value="VGA60">VGA 60Hz</option>';
  19.  echo '<option value="VGA75">VGA 75Hz</option>';
  20.  echo '<option value="SVGA60">SVGA 60Hz</option>';
  21.  echo '<option value="SVGA75">SVGA 75Hz</option>';
  22.  echo '<option value="XGA60">XGA 60Hz</option>';
  23.  echo '<option value="XGA75">XGA 75Hz</option>';
  24.  echo '<option value="SXGA60">SXGA 60Hz</option>';
  25.  echo '<option value="SXGA75">SXGA 75Hz</option>';
  26.  echo '<option value="UXGA60">UXGA 60Hz</option>';
  27.  echo '<option value="720p">720p</option>';
  28.  echo '<option value="1080i">1080i</option>';
  29.  echo '<option value="AES">AES/EBU</option>';
  30. echo '</select>';
  31. echo "<br>";
  32. echo "Loop option: ";
  33. echo '<input type="checkbox" name="loop" value="loop">';
  34. echo "<br>";
  35. echo "Play: ";
  36. echo '<input type="checkbox" name="play" value="play">';
  37. echo "<br>";
  38. echo '<input type="submit" OnClick="update(this.form);" value="Submit">';
  39. echo '</form>';
  40. ?>


 
 
donc j'ai un form avec les 4 options (2 menus, 2 checkbox) dedans et puis je lance une fonction update
 
mais je n'arrive absolument pas à configurer cette fonction correctement
mon but étant de lancer une page update.php?list=data1&output=data2&loop=data3&play=data4 depuis cette fonction update
 
si tu as une idée ... merci d'avance :)

n°1511522
Moriaben
Posté le 06-02-2007 à 18:04:36  profilanswer
 

Code :
  1. <script type="text/JavaScript">
  2.  <!--
  3.  function update(Geoform)
  4.  {
  5.   alert("coucou" );
  6.   if(GeoForm.loop.checked == true)
  7.   loop = "oui\r\n";
  8.   window.location.replace("update.php?loop="+loop+"" );
  9.  }
  10.  //-->
  11. </script>
  12. </head>


 
le "coucou" s'affiche correctement, mais rien dautre ne se passe (enfin y'a un raffraichissement de la page avec l'annulation des options choisies précédemment, mais ça n'affiche pas update.php)


Message édité par Moriaben le 06-02-2007 à 18:06:08
n°1511573
sielfried
Posté le 06-02-2007 à 21:19:46  profilanswer
 

- deux <form>, un </form> ;
- l'attribut action de <form>, ça sert à quelque chose ;
- pas besoin de faire un echo par ligne ;
- ...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1511683
Moriaben
Posté le 07-02-2007 à 09:50:08  profilanswer
 

ah oui en effet y'a un probleme sur le <form>
d'ailleurs ça soulève un autre soucis:
comment je peux faire pour envoyer en une fois le résultat de deux <form> vers une seule et meme fonction javascript (qui s'occupe d'updater l'url avec les datas)? ça serait plus pratique que de devoir faire deux refreshs
 
merci :)

n°1511685
sielfried
Posté le 07-02-2007 à 09:55:02  profilanswer
 

T'as ni besoin de deux forms, ni besoin de javascript (ou alors j'ai pas tout compris [:figti]).
 
Fais juste un simple formulaire qui pointe sur un script qui récupère tout ça... :spamafote:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1511688
Moriaben
Posté le 07-02-2007 à 09:57:00  profilanswer
 

Code :
  1. <?php
  2. $homedir="C:\HDG\Multimedia";
  3. $dir=opendir($homedir);
  4. echo '
  5.  Select file to play:<br>
  6.  <form method="post">
  7.  <select name="file">';
  8. while ($file = readdir($dir))
  9. {
  10.  if (($file!="." )&&($file!=".." ))
  11.  echo '<option value="$file">'.$file.'</option>';
  12. }
  13. echo '
  14.  </select>
  15.  </form>';
  16. closedir($dir);
  17. echo '
  18.  Select output:<br>
  19.  <form method="post">
  20.  <select name="output">
  21.   <option value="VGA60">VGA 60Hz</option>
  22.   <option value="VGA75">VGA 75Hz</option>
  23.   <option value="SVGA60">SVGA 60Hz</option>
  24.   <option value="SVGA75">SVGA 75Hz</option>
  25.   <option value="XGA60">XGA 60Hz</option>
  26.   <option value="XGA75">XGA 75Hz</option>
  27.   <option value="SXGA60">SXGA 60Hz</option>
  28.   <option value="SXGA75">SXGA 75Hz</option>
  29.   <option value="UXGA60">UXGA 60Hz</option>
  30.   <option value="720p">720p</option>
  31.   <option value="1080i">1080i</option>
  32.   <option value="AES">AES/EBU</option>
  33.  </select>
  34.  <br>
  35.  Loop option: <input type="checkbox" name="loop" value="loop">
  36.  <br>
  37.  Play: <input type="checkbox" name="play" value="play">
  38.  <br>
  39.  <input type="submit" OnClick="HDG_update(this.form);" value="Submit">
  40.  </form>';
  41. ?>

n°1511691
Moriaben
Posté le 07-02-2007 à 09:59:52  profilanswer
 

l'idée est enfait d'écrire dans un fichier txt (qui se trouve sur le serveur) les informations fournies par l'utilisateur
 
la 1ere info est un choix parmi une liste de fichiers se trouvant sur le serveur (file)
la 2eme est un choix de résolution (output)
et les deux derniere infos sont des oui ou non (loop, play)

n°1511695
sielfried
Posté le 07-02-2007 à 10:08:23  profilanswer
 

T'as encore deux <form> et un </form>... vire ce second <form>.
 
Bref http://www.siteduzero.com/tuto-3-1 [...] aires.html


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
mood
Publicité
Posté le 07-02-2007 à 10:08:23  profilanswer
 

n°1511697
Moriaben
Posté le 07-02-2007 à 10:13:07  profilanswer
 

y'a deux <form> (lignes 6 et 20) et deux </form> (lignes 15 et 41)
 
si je fais un seul <form>, je ne pourrai pas séparer les deux listes.

n°1511699
sielfried
Posté le 07-02-2007 à 10:15:18  profilanswer
 

Effectivement, j'avais mal lu.
 
Reste qu'un form peut parfaitement transmettre plusieurs valeurs de select à la fois. Pourquoi pas ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1511704
Moriaben
Posté le 07-02-2007 à 10:18:30  profilanswer
 

cest pas très praitque. ça veut dire avoir un seul menu déroulant pour deux choix différents, ce n'est pas ce qu'il y'a de plus intuitif à mon gout
en tout cas merci pour le lien, il est très intéressant :)

n°1511713
sielfried
Posté le 07-02-2007 à 10:23:12  profilanswer
 

Tu peux très bien avoir deux menus déroulant distincts dans un même formulaire. :spamafote:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1511717
Moriaben
Posté le 07-02-2007 à 10:25:45  profilanswer
 

ah oui exact, j'avais du faire une bétise la 1ere fois que j'avais essayé!
 
en effet ça simplifiera ma tâche par la suite :)
merci

n°1511731
Moriaben
Posté le 07-02-2007 à 10:52:43  profilanswer
 

j'ai un autre soucis désormais: je n'arrive pas à récuperer la variable $file depuis ma page update.php
enfait ça me parait presque logique car vu du client, cette "value" n'existe pas mais est remplacée par le nom complet du fichier et donc impossible de faire qqchose de générique ...
 

Code :
  1. <?php
  2. $homedir = "C:\HDG\Multimedia";
  3. $dir = opendir($homedir);
  4. echo '
  5.  Select file to play:<br>
  6.  <form method="post" action="update.php">
  7.  <select name="file">';
  8.  while ($file = readdir($dir))
  9.  {
  10.   if (($file!="." )&&($file!=".." ))
  11.   echo '<option value="'.$file.'">'.$file.'</option>';
  12.  }
  13. echo '
  14.  </select><br>';
  15.  closedir($dir);
  16. echo '
  17.  Select output:<br>
  18.  <select name="output">
  19.   <option value="VGA60">VGA 60Hz</option>
  20.   <option value="VGA75">VGA 75Hz</option>
  21.   <option value="SVGA60">SVGA 60Hz</option>
  22.   <option value="SVGA75">SVGA 75Hz</option>
  23.   <option value="XGA60">XGA 60Hz</option>
  24.   <option value="XGA75">XGA 75Hz</option>
  25.   <option value="SXGA60">SXGA 60Hz</option>
  26.   <option value="SXGA75">SXGA 75Hz</option>
  27.   <option value="UXGA60">UXGA 60Hz</option>
  28.   <option value="720p">720p</option>
  29.   <option value="1080i">1080i</option>
  30.   <option value="AES">AES/EBU</option>
  31.  </select>
  32.  <br>
  33.  Loop :
  34.  <input type="radio" name="loop" value="true" checked="checked" /> Yes
  35.  <input type="radio" name="loop" value="false" /> No
  36.  <br>
  37.  Play :
  38.  <input type="radio" name="play" value="true" checked="checked" /> Yes
  39.  <input type="radio" name="play" value="false" /> No
  40.  <br>
  41.  <input type="submit" value="Submit">
  42.  </form>';
  43. ?>


 
 
et sur la page update.php:
 

Code :
  1. <?php
  2. if (isset($_POST['play']))
  3. {
  4.     echo '<p>Play : ' . htmlentities($_POST['play']) . '</p>';
  5. }
  6. if (isset($_POST['loop']))
  7. {
  8.     echo '<p>Loop : ' . htmlentities($_POST['loop']) . '</p>';
  9. }
  10. if (isset($_POST['output']))
  11. {
  12.     echo '<p>output : ' . htmlentities($_POST['output']) . '</p>';
  13. }
  14. if(isset($_POST[''.$file.'']))
  15. {
  16. echo "coucou";
  17.     echo '<p>file : ' . htmlentities($_POST[''.$file.'']) . '</p>';}
  18. ?>


 
je reçois donc bien les données loop, play et output, mais pas moyen d'avoir file
une idée?
merci :)


Message édité par Moriaben le 07-02-2007 à 10:53:39
n°1511733
skeye
Posté le 07-02-2007 à 10:56:10  profilanswer
 

euh, le nom de ton select c'est file, pas $file.


---------------
Can't buy what I want because it's free -
n°1511736
Moriaben
Posté le 07-02-2007 à 11:02:12  profilanswer
 

ah oui lol, pas très malin de ma part!
décidemment j'ai du mal avec le php !
 
ça marche, en tout cas merci bcp pour ton aide, c'est très gentil à toi :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  valeur de la selection d'une liste déroulante dans une variable

 

Sujets relatifs
liste déroulante formulaire principal sous-formulaireProblème pour récuperer une image dans une variable
xsl/xml la feuille de style n'affiche pas la valeur souhaitéselection cellules non contigues en vba
.recupérer derniere valeur enregister
Fonction de saisi avec un nombre de parametre variableListe deroulante et champs texte
Plus de sujets relatifs à : valeur de la selection d'une liste déroulante dans une variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR