Valider choix multiple d'un menu

Résolu/Fermé
val - 2 mars 2011 à 19:30
 Utilisateur anonyme - 3 mars 2011 à 21:30
Bonsoir

J'ai créé un formulaire et je n'arrive toujours pas après plusieurs essais en utilisant la fonction array.....a faire en sorte que lorsque l'utilisateur du formulaire m'envoie son message, celui-ci ne récupère qu'un choix, pas les autres.

Quelqu'un aurait une idée ?
Merci d'avance





A voir également:

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
bonsoir,

peux ton avoir un bout de code ?
0
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é :
$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
0
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
0
Utilisateur anonyme
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 ?
0
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 :

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
0

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">&nbsp;</td>
              <td width="7">&nbsp;</td>
                <td><label for="nom">
                  <div align="right">Nom :* </div>
                  </label></td>
                <td>&nbsp;
                  <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">&nbsp;
                  <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>&nbsp;</td>
              <td>&nbsp;</td>
                <td><label for="adresse">
                  <div align="right">Adresse :* </div>
                  </label></td>
                <td>&nbsp;
                  <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>&nbsp;
                  <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>&nbsp;</td>
              <td>&nbsp;</td>
                <td><label for="ville">
                  <div align="right">Ville - Dept :* </div>
                  </label></td>
                <td>&nbsp;
                  <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>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              <td>&nbsp;</td>
                <td><label for="mobile">
                  <div align="right">Tél. Mobile : </div>
                  </label></td>
                <td>&nbsp;
                  <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>&nbsp;
                  <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>&nbsp;</td>
              <td>&nbsp;</td>
                <td><label for="email">
                  <div align="right">Email :* </div>
                  </label></td>
                <td>&nbsp;
                  <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>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              <td>&nbsp;</td>
                <td><label for="message">
                  <div align="right">Votre message : </div>
                  </label></td>
                <td>&nbsp;
                  <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>&nbsp;
                  <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">&nbsp;<label for="budget">
                  <br>Budget :*
                  </label></td>
                <td>&nbsp;
                  <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>&nbsp;
                  <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>&nbsp;</td>
              <td>&nbsp;</td>
                <td><label for="categorie">
                  <div align="right">Catégorie :* </div>
                  </label></td>
                <td>&nbsp;
                  <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">&nbsp;<label for="budget">
                 </td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              <td>&nbsp;</td>
                <td width="155"><label for="autre">
                  <div align="right">Si autre catédorie : </div>
                </label></td>
                <td width="222">&nbsp;
                <input name="autre" type="text" class="texte_cellule" id="autre" value="<?php if(isset($autre)) echo $autre;?>"/>                </td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
               <td colspan="3" align="right"><img src="imgs/format_devis.jpg" class="image" bordr="0">&nbsp;<label for="budget">
                  <br>Format :* 
                  </label></td>
                <td colspan="2">&nbsp;
                  <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>&nbsp;</td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              <td>&nbsp;</td>
                <td width="155"><label for="perso">
                  <div align="right">Format personnalisé : </div>
                </label></td>
                <td width="222">&nbsp;
                <input name="perso" type="text" class="texte_cellule" id="perso" value="<?php if(isset($perso)) echo $perso;?>"/>                </td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td><span class="texte_mini">&nbsp;Les champs marqués; d'un * sont obligatoires</span>
                  <p>&nbsp;
                    <input type="submit" value="Envoyer" id"envoyer"/>
                  </p></td>
                <td><div align="right"></div></td>
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              <td>&nbsp;</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>
0
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
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');

@+
0
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 :
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
0
mais oui c'est normal,
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 ! .... :)
0
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 :
<td colspan="3" align="right"><img src="imgs/format_devis.jpg" class="image" bordr="0">&nbsp;<label for="budget">
                  <br>Format :* 
                  </label></td>
                <td colspan="2">&nbsp;
                  <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
0
bon pour un menu ayant un nombre important de choix , le mieu c'est d'utiliser une boucle. For par exemple
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
0
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 :
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 ?
0
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); 
0
tu as encore fait une boulette
il faut pas remplacer
name="flash[]"
par
name="flash"
dans le select du formulaire sinon tu obtiens ce résultat
pareil pour
name="format"
il faut ecrire
name="format[]" 
pour que le choix multiple marche
0
oui je travail sur mon formulaire d'essai et le vrai et pour tester tes fonction j'ai pris l'initial et oublié effectivement de rajouter []
lo
0
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
0
pour l'intitulé tu fais ceci avant la boucle

//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 !!
0
Impec ca fonctionne

Je en t'ennuies plus :-) encore merci
Bonne soirée eone
0
Utilisateur anonyme
3 mars 2011 à 21:30
bonne soirée !! :)
0