Form php: afficher valeur checkbox dans mail
Fermé
frugi
Messages postés
53
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
26 janvier 2016
-
Modifié par frugi le 12/06/2012 à 14:43
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 18 juin 2012 à 21:30
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 18 juin 2012 à 21:30
A voir également:
- Form php: afficher valeur checkbox dans mail
- Easy php - Télécharger - Divers Web & Internet
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Google form sans compte google - Forum Webmastering
- Bouton php - Forum PHP
- Google form en pdf - Forum PDF
5 réponses
Fallentree
Messages postés
2309
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
209
12 juin 2012 à 15:26
12 juin 2012 à 15:26
Bonjour,
Je ne vois pas ton form d envoi d'email. tu pourrais le mettre en gras STP
Je ne vois pas ton form d envoi d'email. tu pourrais le mettre en gras STP
frugi
Messages postés
53
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
26 janvier 2016
12 juin 2012 à 17:22
12 juin 2012 à 17:22
C'est normal, je ne l'ai pas mis pour ne pas surcharger mon post qui est déjà bien long, je n'ai mis que la partie de mon code php sur laquelle je rame.
Mais voilà le reste du code:
Mais voilà le reste du code:
<?php $destinataire = 'email@mail.fr'; $copie = 'non'; $message_envoye = "Votre demande de devis nous est bien parvenue. Elle sera traitée dans les plus brefs délais et vous recevrez sous peu notre réponse par mail sur l'adresse que vous avez indiqué."; $message_non_envoye = "L'envoi a échoué, veuillez réessayer SVP."; $message_erreur_formulaire = "Vous devez d'abord <a href="www.formulaire.php">envoyer le formulaire</a>."; $message_formulaire_invalide = "Vérifiez que tous les champs obligatoires soient bien remplis et que l'email soit sans erreur."; if (!isset($_POST['envoi'])) { echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; } else { function Rec($text) { $text = trim($text); if (1 === get_magic_quotes_gpc()) { $stripslashes = create_function('$txt', 'return stripslashes($txt);'); } else { $stripslashes = create_function('$txt', 'return $txt;'); } $text = $stripslashes($text); $text = htmlspecialchars($text, ENT_QUOTES); $text = nl2br($text); return $text; }; function IsCp($cp) { $pattern1 = "^([0-9]{5})$"; return (eregi($pattern1,$cp)) ? true : false; }; function IsEmail($email) { $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$"; return (eregi($pattern,$email)) ? true : false; }; $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $precisions = (isset($_POST['precisions'])) ? Rec($_POST['precisions']) : ''; $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : ''; $cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : ''; $ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; if(!empty($_POST['choixsupport'])) { foreach($_POST['choixsupport'] as $support); } if(!empty($_POST['choixcouleur'])) { foreach($_POST['choixcouleur'] as $couleur); } $email = (IsEmail($email)) ? $email : ''; if (($nom != '') && ($prenom != '') && ($email != '') && ($adresse != '') && ($cp != '') && ($ville != '') && ($telephone != '')) { $objet = 'Demande de devis'."\r\n"; $coordonnees.= 'Coordonnées : '."\r\n\r\n".'Nom : '.$nom."\r\n\r\n"; $coordonnees.= 'Prénom : '.$prenom."\r\n\r\n"; $coordonnees.= 'Adresse : '.$adresse."\r\n\r\n"; $coordonnees.= 'Code postal : '.$cp."\r\n\r\n"; $coordonnees.= 'Ville : '.$ville."\r\n\r\n"; $coordonnees.= 'Adresse e-mail : '.$email."\r\n\r\n"; $coordonnees.= 'Téléphone : '.$telephone."\r\n\r\n"; $precisions.= 'Choix support : '.$support."\r\n\r\n"; $precisions.= 'Choix couleur : '.$couleur."\r\n\r\n"; if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; if (mail($cible, $objet, $precisions, $coordonnees, $headers)) { echo '<p>'.$message_envoye.'</p>'."\n"; } else { echo '<p>'.$message_non_envoye.'</p>'."\n"; }; } else { echo '<p>'.$message_formulaire_invalide.' <a href="javascript:history.go(-1)">Retour au formulaire</a></p>'."\n"; }; }; ?>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
12 juin 2012 à 19:16
12 juin 2012 à 19:16
if(!empty($_POST['choixsupport'])
$_POST['choixsupport'] est un array alors essayes en mettant:
$_POST['choixsupport'] est un array alors essayes en mettant:
if(sizeof($_POST['choixsupport']>0)
frugi
Messages postés
53
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
26 janvier 2016
18 juin 2012 à 19:42
18 juin 2012 à 19:42
Ça ne fonctionne pas non plus :/
J'ai tout classé en DIV et ai utilisé display:none.
Mais à part la valeur de choixsupport, je ne reçois rien dans le mail.
Voici mon code HTML:
Et mon PHP:
Je reçois toutes les valeurs des différents champs à remplir (Nom, Prénom, etc,... jusqu'à Téléphone), puis:
Support :
Choix support : T-shirt
Choix couleur :
Choix taille :
Pourquoi ne reçois-je pas les valeurs couleur et taille? Et comment faire pour les recevoir?
Je deviens folle avec ce formulaire ><
HELP x)
J'ai tout classé en DIV et ai utilisé display:none.
Mais à part la valeur de choixsupport, je ne reçois rien dans le mail.
Voici mon code HTML:
<html> <head> <script type="text/javascript"> function showStuff(id) { document.getElementById(id).style.display = 'block'; } </script> <script type="text/javascript"> function hideStuff(id) { document.getElementById(id).style.display = 'none'; } </script> </head> <body> <div align=center> <form id="contact" method="post" action="urlduphp.php" onSubmit="return verifSelection(); return verifCouleur();"> <input type="HIDDEN" name="IDlogo" id="IDlogo" value="D1"> <fieldset><legend>Vos coordonnées<font color="#FF0000">*</font> :</legend> <p><label for="nom">Nom : </label><input type="text" id="nom" name="nom" tabindex="1" style="width:150px"/> <label for="prenom">Prénom : </label><input type="text" id="prenom" name="prenom" tabindex="2" style="width:150px"/></p> <p><label for="adresse">Adresse : </label><input type="text" id="adresse" name="adresse" tabindex="3" style="width:250px"/> <label for="code postal">Code postal : </label><input type="text" id="cp" name="cp" tabindex="4" style="width:90px"/> <label for="ville">Ville : </label><input type="text" id="ville" name="ville" tabindex="5" style="width:150px"/></p> <p><label for="email">Email : </label><input type="text" id="email" name="email" tabindex="6" style="width:250px"/> <label for="telephone">Téléphone : </label><input type="text" id="telephone" name="telephone" tabindex="4" style="width:100px"/></p> </fieldset> <br> <fieldset> <div id="choixsupport"><legend>Choix support<font color="#FF0000">*</font> :</legend> <p> <input onclick="showStuff('choixcouleur_tshirt'); hideStuff('choixcouleur_sweat')" type="radio" name="choixsupport[]" value="tshirt" id="tshirt" /><label for="tshirt">T-shirt</label> <input onclick="showStuff('choixcouleur_sweat'); hideStuff('choixcouleur_tshirt')" type="radio" name="choixsupport[]" value="sweat" id="sweat" /><label for="sweat">Sweat</label> </p> </div> <div id="choixcouleur_tshirt" style="display:none"> <p> <input onclick="showStuff('taille')" type="radio" id="blanc" value="blanc" name="choixcouleur[]" /><label for="blanc">Blanc</label> <input onclick="showStuff('taille')" type="radio" id="noir" value="noir" name="choixcouleur[]" /><label for="noir">Noir</label> </p> </div> <div id="choixcouleur_sweat" style="display:none"> <p> <input onclick="showStuff('taille')" type="radio" id="bleu" value="bleu" name="choixcouleur[]" /><label for="bleu">Bleu</label> <input onclick="showStuff('taille')" type="radio" id="gris" value="gris" name="choixcouleur[]" /><label for="gris">Gris</label> </p> </div> <div id="taille" style="display:none"> <input type="radio" id="taille_M" value="taille_M" name="choixtaille[]" /><label for="taille_M">Taille M</label> <input type="radio" id="taille_L" value="taille_L" name="choixtaille[]" /><label for="taille_L">Taille L</label> </div> </body> </html>
Et mon PHP:
<?php $destinataire = 'monadresse@mail.fr'; $copie = 'non'; // 'oui' ou 'non' $message_envoye = "Votre demande de devis nous est bien parvenue. Elle sera traitée dans les plus brefs délais et vous recevrez sous peu notre réponse par mail sur l'adresse que vous avez indiqué."; $message_non_envoye = "L'envoi a échoué, veuillez réessayer SVP."; $message_erreur_formulaire = "Vous devez d'abord <a href=\"urlduformulaire.html\">envoyer le formulaire</a>."; $message_formulaire_invalide = "Vérifiez que tous les champs obligatoires soient bien remplis et que l'email soit sans erreur."; if (!isset($_POST['envoi'])) { echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; } else { function Rec($text) { $text = trim($text); if (1 === get_magic_quotes_gpc()) { $stripslashes = create_function('$txt', 'return stripslashes($txt);'); } else { $stripslashes = create_function('$txt', 'return $txt;'); } // magic quotes ? $text = $stripslashes($text); $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well $text = nl2br($text); return $text; }; function IsCp($cp) { $pattern1 = "^([0-9]{5})$"; return (eregi($pattern1,$cp)) ? true : false; }; function IsEmail($email) { $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$"; return (eregi($pattern,$email)) ? true : false; }; $IDlogo = (isset($_POST['IDlogo'])) ? Rec($_POST['IDlogo']) : ''; $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $precisions = (isset($_POST['precisions'])) ? Rec($_POST['precisions']) : ''; $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : ''; $cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : ''; $ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; if(!empty($_POST['choixsupport'])) { foreach($_POST['choixsupport'] as $support); } if(!empty($_POST['choixcouleur'])) { foreach($_POST['choixcouleur'] as $couleur); } if(!empty($_POST['choixtaille'])) { foreach($_POST['choixtaille'] as $taille); } $email = (IsEmail($email)) ? $email : ''; if (($nom != '') && ($prenom != '') && ($email != '') && ($adresse != '') && ($cp != '') && ($ville != '') && ($telephone != '')) { $headers = 'From'.$expediteur . "\r\n"; $objet = 'Demande de devis pour logo '.$IDlogo."\r\n"; $coordonnees.= '* Coordonnées : '."\r\n\r\n".'Nom : '.$nom."\r\n\r\n"; $coordonnees.= 'Prénom : '.$prenom."\r\n\r\n"; $coordonnees.= 'Adresse : '.$adresse."\r\n\r\n"; $coordonnees.= 'Code postal : '.$cp."\r\n\r\n"; $coordonnees.= 'Ville : '.$ville."\r\n\r\n"; $coordonnees.= 'Adresse e-mail : '.$email."\r\n\r\n"; $coordonnees.= 'Téléphone : '.$telephone."\r\n\r\n"; $precisions.= 'Support : '."\r\n\r\n".'Choix support : '.$support."\r\n\r\n"; $precisions.= 'Choix couleur : '.$couleur."\r\n\r\n"; $precisions.= 'Choix taille : '.$taille."\r\n\r\n"; if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; if (mail($cible, $objet, $precisions, $coordonnees, $headers)) { echo '<p>'.$message_envoye.'</p>'."\n"; } else { echo '<p>'.$message_non_envoye.'</p>'."\n"; }; } else { echo '<p>'.$message_formulaire_invalide.' <a href="javascript:history.go(-1)">Retour au formulaire</a></p>'."\n"; }; }; // fin du if (!isset($_POST['envoi'])) ?>
Je reçois toutes les valeurs des différents champs à remplir (Nom, Prénom, etc,... jusqu'à Téléphone), puis:
Support :
Choix support : T-shirt
Choix couleur :
Choix taille :
Pourquoi ne reçois-je pas les valeurs couleur et taille? Et comment faire pour les recevoir?
Je deviens folle avec ce formulaire ><
HELP x)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
18 juin 2012 à 21:30
18 juin 2012 à 21:30
tu as fait des boucles foreach bizarres voir commentaires, modifs aussi dans la partie html
<html> <head> <script type="text/javascript"> function showStuff(id) { document.getElementById(id).style.display = 'block'; } </script> <script type="text/javascript"> function hideStuff(id) { document.getElementById(id).style.display = 'none'; } </script> </head> <body> <div align=center> <form id="contact" method="post" action="urlduphp.php" onSubmit="return verifSelection(); return verifCouleur();"> <input type="HIDDEN" name="IDlogo" id="IDlogo" value="D1"> <fieldset><legend>Vos coordonnées<font color="#FF0000">*</font> :</legend> <p><label for="nom">Nom : </label><input type="text" id="nom" name="nom" tabindex="1" style="width:150px"/> <label for="prenom">Prénom : </label><input type="text" id="prenom" name="prenom" tabindex="2" style="width:150px"/></p> <p><label for="adresse">Adresse : </label><input type="text" id="adresse" name="adresse" tabindex="3" style="width:250px"/> <label for="code postal">Code postal : </label><input type="text" id="cp" name="cp" tabindex="4" style="width:90px"/> <label for="ville">Ville : </label><input type="text" id="ville" name="ville" tabindex="5" style="width:150px"/></p> <p><label for="email">Email : </label><input type="text" id="email" name="email" tabindex="6" style="width:250px"/> <label for="telephone">Téléphone : </label><input type="text" id="telephone" name="telephone" tabindex="4" style="width:100px"/></p> </fieldset> <br> <fieldset> <div id="choixsupport"><legend>Choix support<font color="#FF0000">*</font> :</legend> <p> <!-- ne met pas les name sous forme d'array ex: choixsupport[] --> <input onclick="showStuff('choixcouleur_tshirt'); hideStuff('choixcouleur_sweat')" type="radio" name="choixsupport" value="tshirt" id="tshirt" /><label for="tshirt">T-shirt</label> <input onclick="showStuff('choixcouleur_sweat'); hideStuff('choixcouleur_tshirt')" type="radio" name="choixsupport" value="sweat" id="sweat" /><label for="sweat">Sweat</label> </p> </div> <div id="choixcouleur_tshirt" style="display:none"> <p> <input onclick="showStuff('taille')" type="radio" id="blanc" value="blanc" name="choixcouleur" /><label for="blanc">Blanc</label> <input onclick="showStuff('taille')" type="radio" id="noir" value="noir" name="choixcouleur" /><label for="noir">Noir</label> </p> </div> <div id="choixcouleur_sweat" style="display:none"> <p> <input onclick="showStuff('taille')" type="radio" id="bleu" value="bleu" name="choixcouleur" /><label for="bleu">Bleu</label> <input onclick="showStuff('taille')" type="radio" id="gris" value="gris" name="choixcouleur" /><label for="gris">Gris</label> </p> </div> <div id="taille" style="display:none"> <input type="radio" id="taille_M" value="taille_M" name="choixtaille" /><label for="taille_M">Taille M</label> <input type="radio" id="taille_L" value="taille_L" name="choixtaille" /><label for="taille_L">Taille L</label> </div> </body> </html> Et mon PHP: <?php $destinataire = 'monadresse@mail.fr'; $copie = 'non'; // 'oui' ou 'non' $message_envoye = "Votre demande de devis nous est bien parvenue. Elle sera traitée dans les plus brefs délais et vous recevrez sous peu notre réponse par mail sur l'adresse que vous avez indiqué."; $message_non_envoye = "L'envoi a échoué, veuillez réessayer SVP."; $message_erreur_formulaire = "Vous devez d'abord <a href=\"urlduformulaire.html\">envoyer le formulaire</a>."; $message_formulaire_invalide = "Vérifiez que tous les champs obligatoires soient bien remplis et que l'email soit sans erreur."; if (!isset($_POST['envoi'])) { echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; } else { function Rec($text) { $text = trim($text); if (1 === get_magic_quotes_gpc()) { $stripslashes = create_function('$txt', 'return stripslashes($txt);'); } else { $stripslashes = create_function('$txt', 'return $txt;'); } // magic quotes ? $text = $stripslashes($text); $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well $text = nl2br($text); return $text; }; function IsCp($cp) { $pattern1 = "^([0-9]{5})$"; return (eregi($pattern1,$cp)) ? true : false; }; function IsEmail($email) { $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$"; return (eregi($pattern,$email)) ? true : false; }; $IDlogo = (isset($_POST['IDlogo'])) ? Rec($_POST['IDlogo']) : ''; $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; $prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : ''; $email = (isset($_POST['email'])) ? Rec($_POST['email']) : ''; $precisions = (isset($_POST['precisions'])) ? Rec($_POST['precisions']) : ''; $adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : ''; $cp = (isset($_POST['cp'])) ? Rec($_POST['cp']) : ''; $ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : ''; $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : ''; /* la c'est n'importe quoi !! if(!empty($_POST['choixsupport'])) { foreach($_POST['choixsupport'] as $support); //une boucle froeach ce n'est pas ça du tout !! } if(!empty($_POST['choixcouleur'])) { foreach($_POST['choixcouleur'] as $couleur); } if(!empty($_POST['choixtaille'])) { foreach($_POST['choixtaille'] as $taille); } */ if(!empty($_POST['choixsupport'])) { $support=$_POST['choixsupport']; } if(!empty($_POST['choixcouleur'])) { $couleur=$_POST['choixcouleur']; } if(!empty($_POST['choixtaille'])) { $taille=$_POST['choixtaille']; } $email = (IsEmail($email)) ? $email : ''; if (($nom != '') && ($prenom != '') && ($email != '') && ($adresse != '') && ($cp != '') && ($ville != '') && ($telephone != '')) { $headers = 'From'.$expediteur . "\r\n"; $objet = 'Demande de devis pour logo '.$IDlogo."\r\n"; $coordonnees.= '* Coordonnées : '."\r\n\r\n".'Nom : '.$nom."\r\n\r\n"; $coordonnees.= 'Prénom : '.$prenom."\r\n\r\n"; $coordonnees.= 'Adresse : '.$adresse."\r\n\r\n"; $coordonnees.= 'Code postal : '.$cp."\r\n\r\n"; $coordonnees.= 'Ville : '.$ville."\r\n\r\n"; $coordonnees.= 'Adresse e-mail : '.$email."\r\n\r\n"; $coordonnees.= 'Téléphone : '.$telephone."\r\n\r\n"; $precisions.= 'Support : '."\r\n\r\n".'Choix support : '.$support."\r\n\r\n"; $precisions.= 'Choix couleur : '.$couleur."\r\n\r\n"; $precisions.= 'Choix taille : '.$taille."\r\n\r\n"; if ($copie == 'oui') { $cible = $destinataire.','.$email; } else { $cible = $destinataire; }; if (mail($cible, $objet, $precisions, $coordonnees, $headers)) { echo '<p>'.$message_envoye.'</p>'."\n"; } else { echo '<p>'.$message_non_envoye.'</p>'."\n"; }; } else { echo '<p>'.$message_formulaire_invalide.' <a href="javascript:history.go(-1)">Retour au formulaire</a></p>'."\n"; }; }; // fin du if (!isset($_POST['envoi'])) ?>