Formulaire et envoi de mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire et envoi de mail

Re: Formulaire et envoi de mail

par Mazarini » 05 août 2011, 16:25

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 "".

Re: Formulaire et envoi de mail

par Invité » 05 août 2011, 15:19

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

par Invité » 05 août 2011, 14:31

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

par Mazarini » 05 août 2011, 14:12

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é.

Formulaire et envoi de mail

par Invité » 05 août 2011, 13:57

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.