Valider choix multiple d'un menu
Résolu/Fermé
A voir également:
- Valider choix multiple d'un menu
- Liste déroulante choix multiple excel - Guide
- Windows 11 menu démarrer classique - Guide
- Canon quick menu - Télécharger - Utilitaires
- Réinitialiser menu démarrer windows 10 - Guide
- Menu demarrer windows 10 - Guide
9 réponses
Nico_
Messages postés
1219
Date d'inscription
vendredi 29 décembre 2006
Statut
Membre
Dernière intervention
15 mars 2016
189
2 mars 2011 à 20:53
2 mars 2011 à 20:53
bonsoir,
peux ton avoir un bout de code ?
peux ton avoir un bout de code ?
J'ai déjà parcouru le forum mais pas de réponse à ma question.
Avant de poster je passe parfois des heures à rechercher sur Internet mais là.... Pas de solution.
J'ai tenté :
revoie par mail :
Instruction du formulaire :
Lors de choix multiple le mail ne m'en note qu'1 seul
Quelqu'un peut m'aider à compléter ou m'orienter sur ce qui pourrait manquer
Merci davance
Avant de poster je passe parfois des heures à rechercher sur Internet mais là.... Pas de solution.
J'ai tenté :
$list['flash']=array("Sélectionnez","creation logo,creation banniere, creation publicitaire");
revoie par mail :
$corps.="Flash : ".$list['flash'][$flash]."\n";
Instruction du formulaire :
<span class='txtform'>Flash :</span></td><td><select multiple style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name="flash' size='1'> <? for($id=0;$id<count($list['flash']);$id++){ if($id==$flash){$ct="selected";} print("<option ".$ct." value=".$id.">".$list['f_1'][$id]."</option>"); unset($ct); }?>
Lors de choix multiple le mail ne m'en note qu'1 seul
Quelqu'un peut m'aider à compléter ou m'orienter sur ce qui pourrait manquer
Merci davance
bon ! cela fait déjà 3 fois que je pose des questions sur ce forum concernant les formulaires mais apparemment ca à l'air trop compliqué pour tout le monde....
Heureusement j'ai déjà résolu seule "pour une débutante en PHP" les 2 premiers ...Alors merci quand même pour le passage
Je résoudrai de nouveau celui-ci !
Bonne nuitttttt
Heureusement j'ai déjà résolu seule "pour une débutante en PHP" les 2 premiers ...Alors merci quand même pour le passage
Je résoudrai de nouveau celui-ci !
Bonne nuitttttt
Utilisateur anonyme
3 mars 2011 à 01:15
3 mars 2011 à 01:15
Je ne comprend pas la question. Deja qu'est ce que tu cherches ?
A recuperer le choix d'un select ?
A recuperer le choix d'un select ?
Bonjour et enfin... :-) merci pour ta réponse je désespère depuis 2 jours
En fait je travailles avec dreamweaver. J'ai créé un formulaire avec des "Menus choix multiples"
Lorsque je le mets en ligne et que je le teste, si lors de mon choix je choisie :
création logo + création bannière avec "ctrl" ça fonctionne .... Mais ! lorsque j'envoie le formulaire et que je reçois l'email 1 SEULE option (la première) est prise en compte ex :
Alors que normalement je devrai recevoir
J'ai tenté toutes les solutions avec la fonction ARRAY ex:
dans mon formulaire :
Puis pour réceptionner:
En réponse dans mon mail :
Mais je ne suis pas une pro alors je bute sur la marche. J'ai fais des recherches sur Internet, mais tous mes essais non rien donné. Il doit y avoir quelque chose que je n'ai pas compris....
Je post en "message" mon formulaire complet
En fait je travailles avec dreamweaver. J'ai créé un formulaire avec des "Menus choix multiples"
Lorsque je le mets en ligne et que je le teste, si lors de mon choix je choisie :
création logo + création bannière avec "ctrl" ça fonctionne .... Mais ! lorsque j'envoie le formulaire et que je reçois l'email 1 SEULE option (la première) est prise en compte ex :
Option Flash : création logo
Alors que normalement je devrai recevoir
Option Flash : création logo, création bannière
J'ai tenté toutes les solutions avec la fonction ARRAY ex:
$flash = array("Création Logo Flash","Création Bannière Flash", "Création Publicité Flash");
dans mon formulaire :
<select name="flash[]" size="2" multiple class="texte_cellule" id="flash"> <option value="Création Logo Flash">Création Logo Flash</option> <option value="Création Bannière Flash">Création Bannière Flash</option> <option value="Création Publicité Flash">Création Publicité Flash</option> </select>
Puis pour réceptionner:
$mail_corps .= "Option Flash : {$_POST['flash']}";
En réponse dans mon mail :
Option Flash : ARRAY
Mais je ne suis pas une pro alors je bute sur la marche. J'ai fais des recherches sur Internet, mais tous mes essais non rien donné. Il doit y avoir quelque chose que je n'ai pas compris....
Je post en "message" mon formulaire complet
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php define('MAIL_DESTINATAIRE','mon_email@nom_domaine.fr'); // remplacer par votre email define('MAIL_SUJET','Demande de renseignement(s)'); $flash = array("Création Logo Flash","Création Bannière Flash", "Création Publicité Flash"); if(!empty($_POST)){ extract($_POST); $valid = true; if (empty($_POST['nom'])){ $valid=false; $erreurnom="Vous n'avez pas rempli votre Nom"; } if (empty($_POST['prenom'])){ $valid=false; $erreurprenom="Vous n'avez pas rempli votre Prénom"; } if (empty($_POST['adresse'])){ $valid=false; $erreuradresse="Vous n'avez pas rempli votre Adresse"; } if (empty($_POST['postal'])){ $valid=false; $erreurpostal="Vous n'avez pas rempli votre Code postal"; } if (empty($_POST['ville'])){ $valid=false; $erreurville="Vous n'avez pas rempli votre Ville"; } if (empty($_POST['email'])){ $valid=false; $erreuremail="Vous n'avez pas rempli votre Email"; } if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){ $valid=false; $erreuremail="Votre Email n'est pas valide"; } if(empty($email)){ $valid=false; $erreuremail="Vous n'avez pas rempli votre Email"; } if($valid){ $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['nom']} " ."<{$_POST['email']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="utf-8"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n"; // préparation du corps du mail $mail_corps = "Nom : $nom\n"; $mail_corps .= "Prénom : $prenom\n"; $mail_corps .= "Adresse : $adresse, $postal $ville\n"; $mail_corps .= "Tél. Mobile : $mobile\n"; $mail_corps .= "Tél. Domicile : $domicile\n"; $mail_corps .= "Email : $email\n"; $mail_corps .= "Option Flash : {$_POST['flash']}"; $mail_corps .= "Message : $message\n"; $mail_corps .= "Budget : $budget\n"; $mail_corps .= "Catégorie : $categorie\n"; $mail_corps .= "Si autre Catégorie : $autre\n"; $mail_corps .= "Format d'impression: $format\n"; $mail_corps .= "Option d'impression : $impression\n"; $mail_corps .= "Format Personnalisé : $perso\n"; // envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) { //Le mail est bien expédié - nettoyage des entrées $erreur = "Votre message nous a bien été transmis"; unset($nom); unset($prenom); unset($adresse); unset($postal); unset($ville); unset($mobile); unset($domicile); unset($email); unset($message); unset($autre); unset($perso); } else{ $erreur = "Une erreur est survenue, votre message n'est pas parti"; } } } ?>
Affichage de mon formulaire:
<?php if(isset($erreur)){ echo "<p>$erreur</p>"; }?> </div> <div id="devis"> <form action="<? echo $PHP_SELF ?>" method="post"> <table width="870" border="0" class="texte"> <tr> <td width="154"> </td> <td width="7"> </td> <td><label for="nom"> <div align="right">Nom :* </div> </label></td> <td> <input name="nom" type="text" class="texte_cellule" id="nom" value="<?php if(isset($nom)) echo $nom;?>"/> <br /> <span class="error-message"> <?php if(isset($erreurnom)) echo $erreurnom; ?> </span> </td> <td width="132"><label for="prenom"> <div align="right">Prénom :* </div> </label></td> <td width="174"> <input name="prenom" type="text" class="texte_cellule" id="prenom" value="<?php if(isset($prenom)) echo $prenom;?>"/> <br /> <span class="error-message"> <?php if(isset($erreurprenom)) echo $erreurprenom; ?> </span> </td> </tr> <tr> <td> </td> <td> </td> <td><label for="adresse"> <div align="right">Adresse :* </div> </label></td> <td> <input name="adresse" type="text" class="texte_cellule" id="adresse" value="<?php if(isset($adresse)) echo $adresse;?>"/> <br /> <span class="error-message"> <?php if(isset($erreuradresse)) echo $erreuradresse; ?> </span> </td> <td><label for="postal"> <div align="right">Code postal :* </div> </label></td> <td> <input name="postal" type="text" class="texte_cellule" id="postal" value="<?php if(isset($postal)) echo $postal;?>"/> <br /> <span class="error-message"> <?php if(isset($erreurpostal)) echo $erreurpostal; ?> </span> </td> </tr> <tr> <td> </td> <td> </td> <td><label for="ville"> <div align="right">Ville - Dept :* </div> </label></td> <td> <input name="ville" type="text" class="texte_cellule" id="ville" value="<?php if(isset($ville)) echo $ville;?>"/> <br /> <span class="error-message"> <?php if(isset($erreurville)) echo $erreurville; ?> </span> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td><label for="mobile"> <div align="right">Tél. Mobile : </div> </label></td> <td> <input name="mobile" type="text" class="texte_cellule" id="mobile" value="<?php if(isset($mobile)) echo $mobile;?>"/> <br /> <span class="error-message"> <?php if(isset($erreurmobile)) echo $erreurmobile; ?> </span> </td> <td><label for="domicile"> <div align="right">Tél. Domicile : </div> </label></td> <td> <input name="domicile" type="text" class="texte_cellule" id="domicile" value="<?php if(isset($domicile)) echo $domicile;?>"/> <br /> <span class="error-message"> <?php if(isset($erreurdomicile)) echo $erreurdomicile; ?> </span> </td> </tr> <tr> <td> </td> <td> </td> <td><label for="email"> <div align="right">Email :* </div> </label></td> <td> <input name="email" type="text" class="texte_cellule" id="email" value="<?php if(isset($email)) echo $email;?>"/> <br /> <span class="error-message"> <?php if(isset($erreuremail)) echo $erreuremail; ?> </span> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td><label for="message"> <div align="right">Votre message : </div> </label></td> <td> <textarea name="message" type="text" class="texte_cellule" id="message" /> <?php if(isset($message)) echo $message;?> </textarea> </td> <td><label for="flash"> <div align="right">Option Flash :* </div> </label></td> <td> <select name="flash[]" size="2" multiple class="texte_cellule" id="flash"> <option value="Création Logo Flash">Création Logo Flash</option> <option value="Création Bannière Flash">Création Bannière Flash</option> <option value="Création Publicité Flash">Création Publicité Flash</option> </select></td> </tr> <tr> <td colspan="3" align="right"><img src="imgs/format_budget.jpg" class="image" bordr="0"> <label for="budget"> <br>Budget :* </label></td> <td> <select name="budget" size="1" class="texte_cellule" id="budget"> <option value="Sélectionnez"></option> <option value="- 500€">- 500€</option> <option value="de 500€ à 1 000€">de 500€ à 1 000€</option> <option value="+ 1 000€">+ 1 000€</option> </select> </td> <td><label for="impression"> <div align="right">Option d'impression :* </div> </label></td> <td> <select name="impression" size="1" class="texte_cellule" id="impression"> <option value="selectionnez">selectionnez</option> <option value="Oui">Oui</option> <option value="Non">Non</option> </select></td> </tr> <tr> <td> </td> <td> </td> <td><label for="categorie"> <div align="right">Catégorie :* </div> </label></td> <td> <select name="categorie" size="3" multiple class="texte_cellule" id="categorie"> <option value="Portail">Portail</option> <option value="Logo">Logo</option> <option value="Bannière">Bannière</option> <option value="Encart/Page Pub">Encart/Page Pub</option> <option value="Flyer">Flyer</option> <option value="Carte de visite">Carte de visite</option> <option value="Autre">Autre</option> </select> </td> <td colspan="2" align="right"><img src="imgs/format_flash.jpg" class="image" bordr="0"> <label for="budget"> </td> </tr> <tr> <td> </td> <td> </td> <td width="155"><label for="autre"> <div align="right">Si autre catédorie : </div> </label></td> <td width="222"> <input name="autre" type="text" class="texte_cellule" id="autre" value="<?php if(isset($autre)) echo $autre;?>"/> </td> <td> </td> <td> </td> </tr> <tr> <td colspan="3" align="right"><img src="imgs/format_devis.jpg" class="image" bordr="0"> <label for="budget"> <br>Format :* </label></td> <td colspan="2"> <select name="format" size="3" multiple class="texte_cellule" id="format"> <option value="Page : Format 21x29.7 cm / A4">Page : Format 21x29.7 cm / A4</option> <option value="Page : Format 42x29.7 cm / A3">Page : Format 42x29.7 cm / A3</option> <option value="Page : Autre">Page : Autre personnalisé</option> <option value="Flyer : Format 10x15 cm / A6">Flyer : Format 10x15 cm / A6</option> <option value="Flyer : Format 15x21 cm / A5">Flyer : Format 15x21 cm / A5</option> <option value="Flyer : Format 21x29.7 cm / A4">Flyer : Format 21x29.7 cm / A4</option> <option value="Flyer : Autre">Flyer : Autre personnalisé</option> <option value="Carte de visite : Format 8.5x5.5 cm">Carte de visite : Format 8.5x5.5 cm</option> <option value="Carte de visite : Format Double 8.5x11 cm">Carte de visite : Format Double 8.5x11 cm</option> <option value="Carte de visite : Format Double 17x5.5 cm">Carte de visite : Format Double 17x5.5 cm</option> <option value="Carte de visite : Autre">Carte de visite : Autre personnalisé</option> <option value="Bannière : Standard 468 x 60 pixels">Bannière : Standard 468 x 60 pixels</option> <option value="Bannière : Autre">Bannière : Autre personnalisé</option> </select> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td width="155"><label for="perso"> <div align="right">Format personnalisé : </div> </label></td> <td width="222"> <input name="perso" type="text" class="texte_cellule" id="perso" value="<?php if(isset($perso)) echo $perso;?>"/> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td><span class="texte_mini"> Les champs marqués; d'un * sont obligatoires</span> <p> <input type="submit" value="Envoyer" id"envoyer"/> </p></td> <td><div align="right"></div></td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td colspan="4"><p class="texte_mini"> *Conformément à l'article 43 de la loi 'Informatique et Libertés' relative à l'informatique, aux fichiers et aux libertés, vous disposez d'un droit d'accés, de modification, de rectification et de suppression des données qui vous concernent. <br /> <br /> </td> </tr> </table> </form> </div>
Utilisateur anonyme
Modifié par eone2 le 3/03/2011 à 15:01
Modifié par eone2 le 3/03/2011 à 15:01
bon j'ai compris ta question, je vais te montrer la fonction qui va résoudre ton problème: print_r normalement tu dois la connaitre si tu es allé un peu loin dans ton apprentissage php, elle permet d'afficher un tableau php et de nous montrer les différents index.
normalement quand on envoi un formulaire on fait ceci
ceci affiche toute les valeurs envoyés ainsi que leur index dans le tableau.
le $_POST['flash'] génère array parce que justement c'est un tableau (normal car plusieurs valeurs sélectionnées), mais tu ne sais pas quels sont les index contenant tes valeurs selectionnées.
Normalement ces index allant de 0 à ... on peut supposer qu'il s'agit de 0 et 1, mais pas de suppositions en informatique, on fait
resultat :
voilà tu peux recuperer tes elements par
maintenant il faut savoir si la personne a sélectionné un 1, 2, ou les 3 options. ceci se fait par
qui donne le nombre de cases du tableau maintenant réalisons le code pour ton mail:
et voilà
or die('bonne continuation');
@+
normalement quand on envoi un formulaire on fait ceci
print_r($_POST);
ceci affiche toute les valeurs envoyés ainsi que leur index dans le tableau.
le $_POST['flash'] génère array parce que justement c'est un tableau (normal car plusieurs valeurs sélectionnées), mais tu ne sais pas quels sont les index contenant tes valeurs selectionnées.
Normalement ces index allant de 0 à ... on peut supposer qu'il s'agit de 0 et 1, mais pas de suppositions en informatique, on fait
print_r($_POST['flash']);
resultat :
Array ( [0] => Création Logo Flash [1] => Création Bannière Flash )
voilà tu peux recuperer tes elements par
$_POST['flash'][0]; $_POST['flash'][1];
maintenant il faut savoir si la personne a sélectionné un 1, 2, ou les 3 options. ceci se fait par
count($_POST['flash']);
qui donne le nombre de cases du tableau maintenant réalisons le code pour ton mail:
if(count($_POST['flash'])==1){ $mail_corps=$_POST['flash'][0]; } else if(count($_POST['flash'])==2){ $mail_corps=$_POST['flash'][0]." , ".$_POST['flash'][1] ; } else if(count($_POST['flash'])==3){ $mail_corps=$_POST['flash'][0]." , ".$_POST['flash'][1]." , ".$_POST['flash'][2] ; } //$mail_corps contient le(s) élément(s) sélectionné(s)
et voilà
or die('bonne continuation');
@+
un grand merci eone2
On y est presque :
Je reçois bien les choix multiple de "flash"
Mais... que ça le reste de mon formulaire à disparu ex :
maintenant :
juste les Options flash:
Au moins les sélections multiples sont prises en compte :-)
alors voici à quoi ressemble mon code php (parce que ej suis blonde et que j'ai du faire une boulette :
Merci encore pour ton aide, et là je souffle un peu ça avance
On y est presque :
Je reçois bien les choix multiple de "flash"
Mais... que ça le reste de mon formulaire à disparu ex :
Nom : Prénom : Adresse : Tél. Mobile : Tél. Domicile : Email : Message : Option Flash: Budget : Catégorie : Logo Si autre Catégorie : Format d'impression: Page : Format 21x29.7 cm / A4 Option d'impression : Oui Format Personnalisé :
maintenant :
juste les Options flash:
Création Bannière Flash , Création Publicité Flash
Au moins les sélections multiples sont prises en compte :-)
alors voici à quoi ressemble mon code php (parce que ej suis blonde et que j'ai du faire une boulette :
<?php define('MAIL_DESTINATAIRE','mon_nom@live.fr'); // remplacer par votre email define('MAIL_SUJET','Demande de renseignement(s)'); $flash = Array ( 0 => "Création Logo Flash" ,1 => "Création Bannière Flash" ,2 => "Création Publicité Flash"); if(!empty($_POST)){ extract($_POST); $valid = true; if (empty($_POST['nom'])){ $valid=false; $erreurnom="Vous n'avez pas rempli votre Nom"; } if (empty($_POST['prenom'])){ $valid=false; $erreurprenom="Vous n'avez pas rempli votre Prénom"; } if (empty($_POST['adresse'])){ $valid=false; $erreuradresse="Vous n'avez pas rempli votre Adresse"; } if (empty($_POST['postal'])){ $valid=false; $erreurpostal="Vous n'avez pas rempli votre Code postal"; } if (empty($_POST['ville'])){ $valid=false; $erreurville="Vous n'avez pas rempli votre Ville"; } if (empty($_POST['email'])){ $valid=false; $erreuremail="Vous n'avez pas rempli votre Email"; } if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){ $valid=false; $erreuremail="Votre Email n'est pas valide"; } if(empty($email)){ $valid=false; $erreuremail="Vous n'avez pas rempli votre Email"; } if($valid){ $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['nom']} " ."<{$_POST['email']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="utf-8"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n"; // préparation du corps du mail $mail_corps = "Nom : $nom\n"; $mail_corps .= "Prénom : $prenom\n"; $mail_corps .= "Adresse : $adresse, $postal $ville\n"; $mail_corps .= "Tél. Mobile : $mobile\n"; $mail_corps .= "Tél. Domicile : $domicile\n"; $mail_corps .= "Email : $email\n"; $mail_corps .= count($_POST['flash']); $mail_corps .= "Message : $message\n"; $mail_corps .= "Budget : $budget\n"; $mail_corps .= "Catégorie : $categorie\n"; $mail_corps .= "Si autre Catégorie : $autre\n"; $mail_corps .= "Format d'impression: $format\n"; $mail_corps .= "Option d'impression : $impression\n"; $mail_corps .= "Format Personnalisé : $perso\n"; if(count($_POST['flash'])==1){ $mail_corps=$_POST['flash'][0]; } else if(count($_POST['flash'])==2){ $mail_corps=$_POST['flash'][0]." , ".$_POST['flash'][1] ; } else if(count($_POST['flash'])==3){ $mail_corps=$_POST['flash'][0]." , ".$_POST['flash'][1]." , ".$_POST['flash'][2] ; } //$mail_corps contient le(s) élément(s) sélectionné(s) // envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) { //Le mail est bien expédié - nettoyage des entrées $erreur = "Votre message nous a bien été transmis"; unset($nom); unset($prenom); unset($adresse); unset($postal); unset($ville); unset($mobile); unset($domicile); unset($email); unset($message); unset($autre); unset($perso); } else{ $erreur = "Une erreur est survenue, votre message n'est pas parti"; } } } ?>
Merci encore pour ton aide, et là je souffle un peu ça avance
mais oui c'est normal,
deja tu effaces ceci
ça ne sert à rien
et ensuite le problème est au niveau de la concaténation parce que quand tu ecris mon code, tu effaces tout le contenu de la variable $mail_corps
donc tu dois faire comme les autres éléments , ajouter le '.=' pour la concaténation
les blondes ! .... :)
deja tu effaces ceci
$flash = Array ( 0 => "Création Logo Flash" ,1 => "Création Bannière Flash" ,2 => "Création Publicité Flash");
ça ne sert à rien
et ensuite le problème est au niveau de la concaténation parce que quand tu ecris mon code, tu effaces tout le contenu de la variable $mail_corps
donc tu dois faire comme les autres éléments , ajouter le '.=' pour la concaténation
if(count($_POST['flash'])==1){ $mail_corps.=$_POST['flash'][0]; } else if(count($_POST['flash'])==2){ $mail_corps.=$_POST['flash'][0]." , ".$_POST['flash'][1] ; } else if(count($_POST['flash'])==3){ $mail_corps.=$_POST['flash'][0]." , ".$_POST['flash'][1]." , ".$_POST['flash'][2] ; }
les blondes ! .... :)
lol :@
c'est bon ca fonctionne UN ENORME MERCI
je désespérais de ne pas y arriver. Ca fait des jours que j'étais dessus sans résultat.
Si je peux, une dernière questions un peu stupide pour un chevronné du php :-)
Pour un menu qui comporte + de 10 choix, je suis obligée de construire la même fonction pour 10 choix ou est ce qu'il y aurai une formule qui prendrait la totalité des select sur éventuellement 3 choix maximum de sélectionnés (réduire le champs d'action)?
ex :
La personne choisie :
1/ Page : Format 42x29.7 cm / A3
2/Flyer : Format 21x29.7 cm / A4
3/Carte de visite : Format Double 8.5x11 cm
Parce là le code risque d'être long
Encore un grand merci pour ton aide
c'est bon ca fonctionne UN ENORME MERCI
je désespérais de ne pas y arriver. Ca fait des jours que j'étais dessus sans résultat.
Si je peux, une dernière questions un peu stupide pour un chevronné du php :-)
Pour un menu qui comporte + de 10 choix, je suis obligée de construire la même fonction pour 10 choix ou est ce qu'il y aurai une formule qui prendrait la totalité des select sur éventuellement 3 choix maximum de sélectionnés (réduire le champs d'action)?
ex :
<td colspan="3" align="right"><img src="imgs/format_devis.jpg" class="image" bordr="0"> <label for="budget"> <br>Format :* </label></td> <td colspan="2"> <select name="format" size="3" multiple class="texte_cellule" id="format"> <option value="Page : Format 21x29.7 cm / A4">Page : Format 21x29.7 cm / A4</option> <option value="Page : Format 42x29.7 cm / A3">Page : Format 42x29.7 cm / A3</option> <option value="Page : Autre">Page : Autre personnalisé</option> <option value="Flyer : Format 10x15 cm / A6">Flyer : Format 10x15 cm / A6</option> <option value="Flyer : Format 15x21 cm / A5">Flyer : Format 15x21 cm / A5</option> <option value="Flyer : Format 21x29.7 cm / A4">Flyer : Format 21x29.7 cm / A4</option> <option value="Flyer : Autre">Flyer : Autre personnalisé</option> <option value="Carte de visite : Format 8.5x5.5 cm">Carte de visite : Format 8.5x5.5 cm</option> <option value="Carte de visite : Format Double 8.5x11 cm">Carte de visite : Format Double 8.5x11 cm</option> <option value="Carte de visite : Format Double 17x5.5 cm">Carte de visite : Format Double 17x5.5 cm</option> <option value="Carte de visite : Autre">Carte de visite : Autre personnalisé</option> <option value="Bannière : Standard 468 x 60 pixels">Bannière : Standard 468 x 60 pixels</option> <option value="Bannière : Autre">Bannière : Autre personnalisé</option> </select>
La personne choisie :
1/ Page : Format 42x29.7 cm / A3
2/Flyer : Format 21x29.7 cm / A4
3/Carte de visite : Format Double 8.5x11 cm
Parce là le code risque d'être long
Encore un grand merci pour ton aide
bon pour un menu ayant un nombre important de choix , le mieu c'est d'utiliser une boucle. For par exemple
soit:
cela marchera quelque soit la longueur de ton menu et c'est en trois lignes.
Plus simple et efficace que le dernier code qui n'était qu'un exemple.
Attention ici c'est $_POST['format']
et remplace l'attribut "name" du select par :
sinon le choix multiple ne marchera pas
soit:
for($i=0;$i<count($_POST['flash']);$i++){ $mail_corps.=$_POST['flash'][$i]; }
cela marchera quelque soit la longueur de ton menu et c'est en trois lignes.
Plus simple et efficace que le dernier code qui n'était qu'un exemple.
Attention ici c'est $_POST['format']
et remplace l'attribut "name" du select par :
name="format[]"
sinon le choix multiple ne marchera pas
Merci eone2 c'est vraiment gentil à toi de m'avoir accordé de ton temps
Pour le code ... 3 lignes lol bien suffisant pour une blonde, ça permets de ne pas rentrer trop d'info en même temps :-)
j'ai remplacé pour tester :
par
Mais le résultat est :
Option Flash:C
Il ne prend que la première lettre
J'en ai encore fait une ?
Pour le code ... 3 lignes lol bien suffisant pour une blonde, ça permets de ne pas rentrer trop d'info en même temps :-)
j'ai remplacé pour tester :
if(count($_POST['flash'])==1){ $mail_corps.='Option Flash:' .$_POST['flash'][0]; } else if(count($_POST['flash'])==2){ $mail_corps.='Option Flash:' .$_POST['flash'][0]." , ".$_POST['flash'][1] ; } else if(count($_POST['flash'])==3){ $mail_corps.='Option Flash:' .$_POST['flash'][0]." , ".$_POST['flash'][1]." , ".$_POST['flash'][2] ; }
par
for($i=0;$i<count($_POST['flash']);$i++){ $mail_corps.='Option Flash:' .$_POST['flash'][$i]; }
Mais le résultat est :
Option Flash:C
Il ne prend que la première lettre
J'en ai encore fait une ?
normalement ça devrait marcher, et je crois qu'au contraire le code devraient plutôt afficher "Option Flash" de maniéré répétitive donc essaie plutôt ceci
for($i=0;$i<count($_POST['flash']);$i++){ $mail_corps.=$_POST['flash'][$i]." , "; } $mail_corps='Option Flash: '.$mail_corps; //pour retirer la derniere virgule $mail_corps=substr($mail_corps,0,-2);
Ca fonctionne et effectivement il y a une boucle avec mon procédé
Mais là l'intitulé n'est pas notifié dans le mail seul les choix
Mais je te laisses tranquille, tu en as assez fait et le principale c'est que CA FONCTIONNE
Un grand merci à toi Bonne soirée eone
Je suis super contente après des heures à chercher sur Internet.
J'ai vraiment crisé d'où mon message. :@
C'est réconfortant de savoir qu'il puisses y avoir des personnes qui partagent leurs connaissances surtout avec pertinence et...patience envers les blondes lol . Encore mille merci
Mais là l'intitulé n'est pas notifié dans le mail seul les choix
Mais je te laisses tranquille, tu en as assez fait et le principale c'est que CA FONCTIONNE
Un grand merci à toi Bonne soirée eone
Je suis super contente après des heures à chercher sur Internet.
J'ai vraiment crisé d'où mon message. :@
C'est réconfortant de savoir qu'il puisses y avoir des personnes qui partagent leurs connaissances surtout avec pertinence et...patience envers les blondes lol . Encore mille merci
pour l'intitulé tu fais ceci avant la boucle
soit le code définitif:
de rien !!
//l'intitulé est "option flash" $mail_corps.='Option Flash: ';
soit le code définitif:
$mail_corps.='Option Flash: '; for($i=0;$i<count($_POST['flash']);$i++){ $mail_corps.=$_POST['flash'][$i]." , "; } //pour retirer la derniere virgule $mail_corps=substr($mail_corps,0,-2);
de rien !!