choix multiple dans menu déroulant sur formulaire php
6 messages
• Page 1 sur 1
- aventvoy
- WRInaute discret

- Messages: 169
- Inscription: 17 Nov 2004
choix multiple dans menu déroulant sur formulaire php
Bonjour,
Imaginons un menu déroulant dans un formulaire d'inscription, lequel formulaire est ensuite envoyé par email au responsable.
Le menu déroulant comporte... mettons 5 choix possibles (en fait il y en a 21...)
Pour l'instant, l'internaute ne peut choisir qu'un seul "objet"...
J'ai souvent vu des menus déroulants pour lesquels on pouvait choisir plusieurs objets, en faisant Ctrl et en cliquant en même temps sur un autre objet.
Quelqu'un saurait il me dire comment faire ça?
Voilà ce que j'ai mis en place (c'est en php of course) :
<select name="choix">
<option value="choix" selected>Choisissez - Select one</option>
<option value="choix1">choix 1</option>
<option value="choix2">choix 2</option>
<option value="choix3">choix 3</option>
<option value="choix4">choix 4</option>
<option value="choix5">choix 5: </option>
</select>
les données de tout le formulaire sont récupérées, et balancées par email.
La portion qui nous intéresse est :
$choix = $_POST['choix'];
et plus loin,
<select name="choix">
<option value="choix" selected>Choisissez - Please select one</option>
<option value="choix1"<?php if($choix=="choix1"){print "selected=\"selected\"";} ?>>
choix 1 </option>
<option value="choix2"<?php if($choix=="choix2"){print "selected=\"selected\"";} ?>>
choix 2</option>
<option value="choix3"<?php if($choix=="choix3"){print "selected=\"selected\"";} ?>>
choix 3</option>
<option value="choix4"<?php if($navigation=="choix4"){print "selected=\"selected\"";} ?>>
choix 4</option>
<option value="choix5"<?php if($choix=="choix5"){print "selected=\"selected\"";} ?>>
choix 5</option>
</select>
et dans le message qui part par email, on a :
Le participant a choisi : ".$choix ."<br />
Voilà...
J'ai eu beau chercher sur ce forum, pas trouvé de réponse.
Pour information, il s'agit d'étapes d'une expédition voile autour des Amériques, sensibilisation réchauffement climatique etc...
Merci pour votre aide !
A.
Imaginons un menu déroulant dans un formulaire d'inscription, lequel formulaire est ensuite envoyé par email au responsable.
Le menu déroulant comporte... mettons 5 choix possibles (en fait il y en a 21...)
Pour l'instant, l'internaute ne peut choisir qu'un seul "objet"...
J'ai souvent vu des menus déroulants pour lesquels on pouvait choisir plusieurs objets, en faisant Ctrl et en cliquant en même temps sur un autre objet.
Quelqu'un saurait il me dire comment faire ça?
Voilà ce que j'ai mis en place (c'est en php of course) :
<select name="choix">
<option value="choix" selected>Choisissez - Select one</option>
<option value="choix1">choix 1</option>
<option value="choix2">choix 2</option>
<option value="choix3">choix 3</option>
<option value="choix4">choix 4</option>
<option value="choix5">choix 5: </option>
</select>
les données de tout le formulaire sont récupérées, et balancées par email.
La portion qui nous intéresse est :
$choix = $_POST['choix'];
et plus loin,
<select name="choix">
<option value="choix" selected>Choisissez - Please select one</option>
<option value="choix1"<?php if($choix=="choix1"){print "selected=\"selected\"";} ?>>
choix 1 </option>
<option value="choix2"<?php if($choix=="choix2"){print "selected=\"selected\"";} ?>>
choix 2</option>
<option value="choix3"<?php if($choix=="choix3"){print "selected=\"selected\"";} ?>>
choix 3</option>
<option value="choix4"<?php if($navigation=="choix4"){print "selected=\"selected\"";} ?>>
choix 4</option>
<option value="choix5"<?php if($choix=="choix5"){print "selected=\"selected\"";} ?>>
choix 5</option>
</select>
et dans le message qui part par email, on a :
Le participant a choisi : ".$choix ."<br />
Voilà...
J'ai eu beau chercher sur ce forum, pas trouvé de réponse.
Pour information, il s'agit d'étapes d'une expédition voile autour des Amériques, sensibilisation réchauffement climatique etc...
Merci pour votre aide !
A.
-

erestrebian - WRInaute occasionnel

- Messages: 472
- Inscription: 15 Juin 2007
Et je te conseillerai d'utiliser une boucle while si tes choix sont inclus dans une base de données ou un fichier externe au script. Comme ça, tu n'as pas à modifier le fichier php quand tu ajoutes une escale ou un bateau...
- aventvoy
- WRInaute discret

- Messages: 169
- Inscription: 17 Nov 2004
MrPringle : Merci pour l'indication. Maintenant il y a bien la possibilité de choisir plusieurs étapes, c'est un bon début
Malheureusement, le message de confirmation qui s'affiche sur l'écran, et le mail que reçoit le responsable montrent (les autres éléments marchent bien):
Vous avez choisi l'étape/les étapes: Array
Donc je me suis planté quelque part avec les [ ] mais je ne vois pas où.
Maintenant on a :
une série de variables, puis:
$navigation[] = $_POST['navigation'];
Vient le formulaire, avec son menu déroulant (j'ai supprimé les détails des 21 étapes, mais c'est attrayant
:
<select name="navigation[]" multiple="multiple" size="21">
<option value="choix" selected>Choisissez - Select one</option>
<option value="etape1">Étape 1</option>
<option value="etape2">Étape 2</option>
<option value="etape3">Étape 3</option>
<option value="etape4">Étape 4</option>
<option value="etape5">Étape 5</option>
...etc jusqu'à Étape 21...
puis, pour récupérer les données :
<select name="navigation[]" multiple="multiple" size="21">
<option value="choix" selected>Choisissez - Please select one</option>
<option value="etape1"<?php if($navigation=="etape1"){print "selected=\"selected\"";} ?>>
Étape 1</option>
<option value="etape2"<?php if($navigation=="etape2"){print "selected=\"selected\"";} ?>>
Étape 2</option>
<option value="etape3"<?php if($navigation=="etape3"){print "selected=\"selected\"";} ?>>
Étape 3</option>
<option value="etape4"<?php if($navigation=="etape4"){print "selected=\"selected\"";} ?>>
Étape 4</option>
<option value="etape5"<?php if($navigation=="etape5"){print "selected=\"selected\"";} ?>>
Étape 5</option>
... etc jusqu'à l'étape 21
le message de confirmation une fois le formulaire soumis :
print "Vous avez choisi l'étape/les étapes: ".$navigation."<br />\n";
l'email que reçoit le responsable :
Le participant a choisi l'étape/les étapes: ".$navigation ."<br />
C'est dans ces deux messages que j'ai la réponse Array au lieu d'avoir la selection du visiteur.
A mon avis le problème vient de là :
if($navigation=="etape1"){print "selected=\"selected\""
mais je ne vois pas quoi...
Erestrebian : Merci, tout cela n'est pas intégré dans une bdd, trop compliqué pour moi pour l'instant, mais j'ai commencé à étudier la question (siteduzero et autres...) je saurai me souvenir de ton conseil le moment venu !
Merci,
A.
Malheureusement, le message de confirmation qui s'affiche sur l'écran, et le mail que reçoit le responsable montrent (les autres éléments marchent bien):
Vous avez choisi l'étape/les étapes: Array
Donc je me suis planté quelque part avec les [ ] mais je ne vois pas où.
Maintenant on a :
une série de variables, puis:
$navigation[] = $_POST['navigation'];
Vient le formulaire, avec son menu déroulant (j'ai supprimé les détails des 21 étapes, mais c'est attrayant
<select name="navigation[]" multiple="multiple" size="21">
<option value="choix" selected>Choisissez - Select one</option>
<option value="etape1">Étape 1</option>
<option value="etape2">Étape 2</option>
<option value="etape3">Étape 3</option>
<option value="etape4">Étape 4</option>
<option value="etape5">Étape 5</option>
...etc jusqu'à Étape 21...
puis, pour récupérer les données :
<select name="navigation[]" multiple="multiple" size="21">
<option value="choix" selected>Choisissez - Please select one</option>
<option value="etape1"<?php if($navigation=="etape1"){print "selected=\"selected\"";} ?>>
Étape 1</option>
<option value="etape2"<?php if($navigation=="etape2"){print "selected=\"selected\"";} ?>>
Étape 2</option>
<option value="etape3"<?php if($navigation=="etape3"){print "selected=\"selected\"";} ?>>
Étape 3</option>
<option value="etape4"<?php if($navigation=="etape4"){print "selected=\"selected\"";} ?>>
Étape 4</option>
<option value="etape5"<?php if($navigation=="etape5"){print "selected=\"selected\"";} ?>>
Étape 5</option>
... etc jusqu'à l'étape 21
le message de confirmation une fois le formulaire soumis :
print "Vous avez choisi l'étape/les étapes: ".$navigation."<br />\n";
l'email que reçoit le responsable :
Le participant a choisi l'étape/les étapes: ".$navigation ."<br />
C'est dans ces deux messages que j'ai la réponse Array au lieu d'avoir la selection du visiteur.
A mon avis le problème vient de là :
if($navigation=="etape1"){print "selected=\"selected\""
mais je ne vois pas quoi...
Erestrebian : Merci, tout cela n'est pas intégré dans une bdd, trop compliqué pour moi pour l'instant, mais j'ai commencé à étudier la question (siteduzero et autres...) je saurai me souvenir de ton conseil le moment venu !
Merci,
A.
-

erestrebian - WRInaute occasionnel

- Messages: 472
- Inscription: 15 Juin 2007
navigation est un tableau donc il faut que tu le parcoures pour en extraire les résultats...
echo 'Vous avez choisi l'étape/les étapes: .
http://www.webrankinfo.com/forums/viewtopic_79110.htm
j'explique le each et le list dans ce post s'il s'agit de fonction que tu ne connais pas....
echo 'Vous avez choisi l'étape/les étapes: .
- Code: Tout sélectionner
while (list($id_etape,$etape)=each($_POST['navigation'])
echo $etape.'<br>';
http://www.webrankinfo.com/forums/viewtopic_79110.htm
j'explique le each et le list dans ce post s'il s'agit de fonction que tu ne connais pas....
6 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Faire ouvrir le choix d'un menu déroulant dans nouvelle page
- DYNAMIQUE PHP LIST/MENU (Changement choix VS Choix List/MENU
- menu déroulant php
- menu déroulant PHP XML et XHTML pour référencement
- Menu déroulant (scroll) ou menu effetjquery qui disparait ?
- Menu déroulant avec sous menu horizontale.
- Help menu déroulant !
- [help!] Menu Déroulant
- Menu déroulant
- Listes déroulantes liées à choix multiple
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


