Je n arrive pas a recevoir par mail le champ de mon formulaire

rales Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
rales Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j ai créé un formulaire pour pouvoir recevoir par mail les reponse
Le probleme c est que je recoit par mail juste "nom: Prénom:"

voila mon code

<doctype>
<html>
<head>
<style type="text/css">
#champtel{
display: block;
float: left;
margin:10px 10px 10px -260px;
padding:10px 10px 10px 10px;
width: 90px;
}
#numero{
display: block;
float: left;
margin:10px 0px 0px -490px;
padding:10px 10px 10px 10px;
width: 50px;
}
#codepostal{
display: block;
float: left;
margin:0 0 10px -10px;
padding:10px 10px 10px 10px;
width: 80px;
}
#champ{
display: block;
float: left;
margin:0px 0px 0px -10px;
padding:10px 10px 10px 10px;
width: 150px;
}
#champrue{
display: block;
float: left;
margin:10px 0px 0px -430px;
padding:10px 165px 10px 10px;
width: 200px;
}
#champnom{
display: block;
float: left;
margin:0 0 10px -10px;
padding:10px 10px 10px 10px;
width: 150px;
}
#champprenom{
display: block;
float: left;
margin:0 0 10px -10px;
padding:10px 10px 10px 10px;
width: 150px;
}
#champemail{
display: block;
float: left;
margin:0 0 10px -10px;
padding:10px 10px 10px 10px;
width: 150px;
}
#champpays{
display: block;
float: left;
margin:10px 10px 10px -420px;
padding:10px 10px 10px 10px;
width: 150px;
}
#champquantité{
display: block;
float: left;
margin:8px 10px 10px 0px;
padding:10px 10px 10px 10px;
width: 150px;
}
#champmodepay{
display: block;
float: left;
margin:8px 10px 10px 0px;
padding:10px 10px 10px 10px;
width: 150px;
}
#envoi{
display: block;
float: left;
margin:10px 10px 10px 200px;
padding:10px 10px 10px 10px;

}

</style>

</head><body>
<?php


$prenom = htmlentities($_POST['prénom'],ENT_QUOTES);
$nom = htmlentities($_POST['nom'],ENT_QUOTES);
$email = htmlentities($_POST['email'],ENT_QUOTES);
$commentaire = htmlentities($_POST['n'],ENT_QUOTES);

echo $nom. '<br/>';
echo $prenom. '<br/>';
echo $email. '<br/>';
echo $commentaire. '<br/>';

$message = 'Prénom : ' .$prenom. '<br/>';
$message .= 'nom : ' .$nom. '<br/>';
$message .= 'email : ' .$email. '<br/>';
$message .= 'n : ' .$commentaire. '<br/>';
$sujet = "Achat de spiruline";
$destinataire = "mon mail";
$entete ='From: '.$email.'';
echo $entete;

mail($destinataire,$sujet,$message,$entete);




?>

<form method="post" action="facture2.php" target="" >

<fieldset style="width:500px;">
<legend align="center"> Bon de commande</legend>

<div id="champnom"><label for="nom">Nom* : </label><input type="text" name="nom" id="nom" ><br/></div>

<div id="champprenom"><label for="prénom">Prénom <br/></label><input type="text" name="prénom" id="prénom" required aria-required="true"></div>

<div id="champemail"><label for="email">Email</label><br/>
<input id="email" name="email" type="email" placeholder="votre.email@gmail.com" required aria-required="true"></div><br/><br/>

<div id="numero"><label for="n">Nº <br/></label><input type="text" name="n" id="n" size="5" maxlength="5" value=></div>
<div id="champrue"><label for="Rue">Rue <br/></label><input type="text" name="Rue" id="Rue" size="50" required aria-required="true"></div><br/><br/><br/>
<div id="champ"><label for="Bat">Bat <br/></label><input type="text" name="Bat" id="Bat" value=></div>
<div id="codepostal"><label for="Code postal">Code postal <br/></label> <input type="text" size="5" maxlength="5" name="Code postal" id="Code postal" required aria-required="true"></div>
<div id="champ"><label for="Ville">Ville<br/></label><input type="text" name="Ville" id="Ville" required aria-required="true"></div><br/><br/>
<div id="champpays"><label for="Pays">Pays<br/></label><input type="text" name="Pays" id="Pays" required aria-required="true"></div>
<div id="champtel"><label for="Tel">Tel<br/></label><input type="text" name="Tel" id="Tel" size="10" maxlength="10" placeholder="0606060606" required aria-required="true">
</div>



<div id="champquantité">
<select name="Quantité" required aria-required="true">
<option value=""> ----- Quantité ----- </option>
<option value="www.google.fr" name="1" id="1"> 1kg côut 16euro </option>
<option value="2" name="2" id="2"> 2 </option>
<option value="3" name="3" id="3"> 3 </option>
<option value="23" name="4" id="4">4 </option>
</select></div>

<div id="champmodepay">
<select name="payement" required aria-required="true">
<option value=""> ----- Mode de payement ----- </option>
<option value="Chéque" name="Chéque" id="Chéque"> Chéque </option>
<option value="Carte bleu" name="Carte bleu" id="Carte bleu"> Carte bleu </option>
<option value="Paypal" name="Paypal" id="Paypal"> Paypal </option>

</select></div>
<div id="envoi"><input type="submit" value="Payer
"/></div> </fieldset></form>




</body></html>


A voir également:

2 réponses

Rincewind
 
Salut,

je vous conseille de séparer le traitement de l'affichage cela sera plus clair(et pour vous et pour quiconque lira le code).

Ensuite plusieurs erreurs bloquantes:
<form method="post" action="facture2.php" target="" >

Si vous traitez les données du formulaire en POST il faut indiquer quelle page est appelée par la valeur de action que vous avez laissée vide. POST fait référence à une page différente(en théorie) et GET à la même page(en théorie aussi car POST ou GET vous pouvez appeler le code de la même page ou d'une page différente mais chacune des méthodes est prévue pour un cas et non l'autre).

Vous faites référence à la variable $_POST['prénom'] celle ci ne peut exister, les accents sont interdits pour les noms de variables(l'informatique est majoritairement développé par de anglophones qui n'ont pas d'accent dans leur langue(les américains). Modifier donc par prenom (dans le formulaire HTML d'abord puis dans le code PHP).

Je vous conseille aussi de vérifier si les variables POST existe à l'aide de la fonction isset() comme ceci(ce qui permet de rapidement repérer une erreur):


<?php
if (isset($_POST['prenom']))
/* on vérifie que la variable $_POST['prenom'] eiste bien */
/* il peut être utile de vérifier aussi les autres variables ainsi que de vérifier que non seulement la variable existe mais celle ci à bien une valeur non vide(avec !empty() par exemple)

par exemple
if (isset($_POST['prenom'])&& (!empty($_POST['prenom']))
// le code s'éxécute si $_POST['prenom'] existe et que sa valeur est non vide
//équivalent de ceci:

if (isset($_POST['prenom'])&& (($_POST['prenom']!=""))
// veut dire $_POST['prenom'] existe et sa valeur est différente d'ujne chaîne de caractère vide


*/
{

$prenom = htmlentities($_POST['prenom'],ENT_QUOTES);
$nom = htmlentities($_POST['nom'],ENT_QUOTES);
$email = htmlentities($_POST['email'],ENT_QUOTES);
$commentaire = htmlentities($_POST['n'],ENT_QUOTES);
echo $nom. '<br/>';
echo $prenom. '<br/>';
echo $email. '<br/>';
echo $commentaire. '<br/>';
$message = 'Prénom : ' .$prenom. '<br/>';
$message .= 'nom : ' .$nom. '<br/>';
$message .= 'email : ' .$email. '<br/>';
$message .= 'n : ' .$commentaire. '<br/>';
$sujet = "Achat de spiruline";
$destinataire = "mon mail";
$entete ='From: '.$email.'';
echo $entete;
mail($destinataire,$sujet,$message,$entete);
}else{

echo ('Erreur : pas de prenom validé dans la variable POST');
}
?>


Voilà déjà ça peut aider à corriger vos erreurs, il peut être utile aussi de tester chaque variable avant l'envoi avec echo ou print_r comme ça vous êtes sûr des valeurs que vous envoyez.
0
rales Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour votre reponse
J ai donc corrigé grace a vos conseilles mais je ne recois plus rien
aider moi svp
0