Page 1 sur 1

Formulaire et envoi de mail

Posté : 05 août 2011, 13:57
par Invité
Bonjour à tous, voici mon problème :

Je créé un formulaire banal, dans lequel se trouve ce champs (liste déroulante contenant seulement 2 possibilités de choix) :
<tr>
     <td align="right">Vous souhaitez être re-contacté par : </td>
     <td>
          <select name="pref-contact" class="select" style="width:100px;">
               <option value="">Téléphone</option>
               <option value="">Email</option>
          </select>
     </td>
</tr>
Lorsque l'internaute valide le formulaire, bien entendu celui-ci m'est envoyé par mail en récupérant les données. J'arrive à récupérer les données de tous les champs, sauf pour le champs <select> déclaré ci-dessus (les autres sont des champs input classiques). Voila comment je procède :
<?
if(isset($_POST["ok"]) && $_POST["ok"] == 1){
		if(envoi_mail($mail_site, "Message depuis  ".$url_site2, "Vous avez re&ccedil;u un message depuis  ".$url_site2."<br><br>
		
Identifiant : ".htmlentities($_POST["ref"])."<br>
Nom : ".htmlentities($_POST["nom"])."<br>
Pr&eacute;nom : ".htmlentities($_POST["prenom"])."<br>
Téléphone : ".htmlentities($_POST["tel"])."<br>
Mail : <a href='mailto:".htmlentities($_POST["mail"])."'>".htmlentities($_POST["mail"])."</a><br><br>
Préférence de contact : ".htmlentities($_POST["pref-contact"])."<br>
Tout marche, sauf pour récupérer la valeur contenu dans ma liste déroulante à 2 choix (pref-contact). Dans le mail que je reçois en testant le formulaire, la valeur "e-mail" ou "téléphone" que l'internaute aura sélectionné n'apparait pas.

Peut être que htmlentities($_POST["pref-contact"]) ne peut pas être utilisé pour un <select> ?

Merci par avance pour vos pistes.

Romain.

Re: Formulaire et envoi de mail

Posté : 05 août 2011, 14:12
par Mazarini
Bonjour,

Le problème, c'est le value="" pour les 2 options.
Soit tu mets une valeur, soit tu ne mets pas d'attribut value

Edit, si pas de value, le libellé de l'option est retourné.

Re: Formulaire et envoi de mail

Posté : 05 août 2011, 14:31
par Invité
D'accord merci. Je tente en enlevant les value (ou en mettant le libellé de l'option en value, j'imagine que ça aura le même effet ?

Re: Formulaire et envoi de mail

Posté : 05 août 2011, 15:19
par Invité
Ca marche merci beaucoup !

Mais alors à quoi sert l'attribut "value" si faut y mettre la même chose que dans l'intitulé de l'option ?

Re: Formulaire et envoi de mail

Posté : 05 août 2011, 16:25
par Mazarini
En général, on mais un code dans "value" et le libellé pour l'option. Cela peut permettre une traduction du libellé sans changer le PHP qui traite toujours les mêmes valeurs.

Si les 2 sont identiques, on s'abstient de l'attribut value et surtout on ne met pas value="" qui retourne "".