Récupérer la valeur d'un bouton radio pour mail php

Résolu
ProgProject Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -  
ProgProject Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je suis un jeune développeur (14 ans) et j'ai un petit problème
je suis entrain de créé un formulaire de mail PHP
Tout fonctionne sauf mes deux bouton radio que je n'arrive pas a se que quand le visiteur envoi le mail que dans le mail il y ai la valeur du bouton radio que le visiteur a choisi

script:


<?php

$email_dest = "email@email.fr";

if ($_POST['envoi']) {

$headers ="MIME-Version: 1.0 \n";

$headers .="From: Html 42<Demande@Html42.fr>\n";

$headers .="Content-Type: text/html; charset=utf-8 \n";

$subject = "Demande Html 42";

$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
}
if ($_POST['nbre_zone_radio'] != 0) {
$partie_radio = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_radio'] . " = " . $_POST['radio'] . "</font><br>";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" $radio"</font><br>";
}

if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}

$fin = "</body></html>";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_radio . $partie_zone_texte . $fin;


if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} else { 


header("Location:[http://html42.url.ph/merci.html]");
exit();

}
} 
?>

<!DOCTYPE html>
<html>
  <head>
   <title>Html42</title>
   <meta charset="utf-8"/>
   <link rel="stylesheet" href="site.css" />
   <script language="javascript" src="site.js"></script>
   <link rel="stylesheet" href="style.css" />
   <link rel="stylesheet" href="index_files/mbcsmbmcp.css" type="text/css" />
   <link rel="stylesheet" type="text/css" href="[http://fonts.googleapis.com/css?family=Roboto+Condensed:bold]">
   <link rel="icon" type="image/x-icon" href="IMG/LOGO1.gif" />
  </head>
  <body>

   <div  id="entete">
    <a name="haut"></a>
    <center><a href="index.html"><IMG  src="IMG/LOGO1.gif"></a></center> 
   <br><div id="mbmcpebul_wrapper">
    <ul id="mbmcpebul_table" class="mbmcpebul_menulist css_menu">
     <li><div class="buttonbg" style="width: 88px;"><a>Home</a></div></li>
     <li><div class="arrow buttonbg" style="width: 130px;"><a class="button_2">Products</a></div>
    <ul>
     <li><a title="">Menu Item</a></li>
     <li><a title="">Another Menu Item</a></li>
     <li><a title="">Yet Another</a></li>
    </ul></li>
     <li><div class="buttonbg"><a>Support</a></div></li>
    </ul>
   </div>

    <script type="text/javascript" src="index_files/mbjsmbmcp.js"></script>

   </div>

   <div id="main">


   <div id="contenu"  >
    <br><br><br><center><font  face="Calibri" size="24" id="html1"  >Demander un Site Web</font><br><br><br><br></center>
    <table width="566" border="0" align="center">
     <form action="site1.php" method="post">  
      <tr>
       <td align="center"><input name="champ2"  placeholder=" Nom, Prénom" type="text"></td>
      </tr>
      <tr>
       <td align="center"><input  placeholder=" URL du Site avec Sous-Domaine" name="champ2" type="text"></td>
      </tr>
      <tr>
       <td align="center"><font style="color:black" face="Verdana" size="3"><b>Domaine  ou  Sous-Domaine</b></font></td>
      </tr>
      <tr>
       <td align="center"><INPUT id="site" type="radio" name="radio" value="Domaine">
       <INPUT id="site" type="radio" name="radio" value="Sous-Domaine"></td>
      </tr>
      <tr>
       <td align="center"><input  placeholder=" Adresse Mail" name="zone_email" type="text"></td>
      </tr>
      <tr>
       <td align="center"><textarea  placeholder=" Contenu du Mail" name="zone_texte" cols="50" rows="5"></textarea></td>
      </tr>
      <tr>
       
      <td align="center">
       <input onClick="document.forms.f.reset()"  type="submit" name="Reset" value="Effacer">          
       <form action="site1.php" method="post">
       <input  type="submit" name="envoi" value="Envoyer">
      </td>
      <td valign="top">
       <input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="2">
       <input name="nbre_zones_texte" type="hidden" value="1">
       <input name="nbre_radio" type="hidden" value="1">
       <input name="nbre_zone_email" type="hidden" value="1">
       <input name="titre_champ1" type="hidden" value="Nom, Prénom">
       <input name="titre_champ2" type="hidden" value="URL du Site ">
       <input name="titre_radio" type="hidden" value="domaine ou sous">
       <input name="titre_email" type="hidden" value="E-Mail">
       <input name="titre_zone" type="hidden" value="Message">
      </td>
      </tr>
     </form>
     
    </table>
   </div>

si vous avez la solution pouvez-vous me la communiquer


PS: Dites-moi se que vous pensez de mon script


EDIT : Ajout des balises de code !
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
A voir également:

2 réponses

douarfyduck Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   24
 
Rebonjour,

Pour répondre a nouveau a ta question, les données envoyées correspondant aux données englobées dans la balise <form>.
Ici tu as deux balises <form>,tu devrais supprimer la deuxième et garder la balise fermantes </form>

Cordialement
0
ProgProject Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   2
 
j'ai enlever la 2eme balise form mais quand le mail est envoyer, a l'interieur du mail il n'y a pas le choix du visiteur (domaine ou sous-domaine)
0
douarfyduck Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   24
 
Essaie d'attribuer deux name differents pour chaque radio et dans ton script, si l'un des deux $_post['name'] est vide alors c'est l'autre qui est coché. exemple :
$radio = (empty($_post['radio1']))?$_post['radio2']:$_post['radio1'];
0
ProgProject Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   2
 
et le $radio = (empty($_post['radio1']))?$_post['radio2']:$_post['radio1']; je le met ou??
0
douarfyduck Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   24
 
$radio = (empty($_post['radio1']))?$_post['radio2']:$_post['radio1']; 
if ($_POST['nbre_zone_radio'] != 0) { 
$partie_radio = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_radio'] . " = " . $radio . "</font><br>"; 
} 

Si tu veux progresser en développement, il faut parfois persévérer et chercher à comprendre le code, pas seulement a le recopier, même si c'est le code d'un autre

EDIT : Ajout des balises de code
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
ProgProject Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   2
 
oui mais la sa fais 2 jour que je travaille pour savoir comment faire pour envoyer le mail sans message d'erreur et la enfin sa marcher (je te rappelle que j'ai 14 ans)
0
ReDLoG Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   57
 
Bonsoir,

Tu récupères une donnée en $_POST qui n'existe pas dans le champ hidden de ton formulaire :
if ($_POST['nbre_zone_radio'] != 0) {
	$partie_radio = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_radio'] . " = " . $_POST['radio'] . "</font><br>";
}

Et voici le champ hidden que tu implémentes dans ton code HTML :
<input name="nbre_radio" type="hidden" value="1">

Il te suffit de modifier le champ input hidden comme ceci :
<input name="nbre_zone_radio" type="hidden" value="1">

Cordialement.
0
ProgProject Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour,
c'est bon j'ai trouver une solution tout seul
0