Probleme de formulaire envoi :commentaire

Résolu
flaydeer Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
 FLAY -
Bonjour,

mon formulaire fonctionne mais quand je le recois par mail le champs commentaires reste vide ?

Merci d'avance:

mon code, form.php:

<form action="envoi.php" method="post" name="form_contacts" id="form_contacts">

<fieldset>
<legend>Vous souhaitez être contacter rapidement : </legend>
<!--<legend>Vos coordonnées :</legend>-->

<label for="nom">Votre nom :</label>
<input type="text" name="nom" size="56"
maxlength="60" value="" id="nom" />

<label for="tel">Votre N° tél: :</label>
<input type="text" name="tel" size="56" maxlength="20" value="" id="tel" />

<label for="email">Votre email :</label>
<input type="text" name="email" size="56" maxlength="40" value="" id="email" />

<label for="comments">Vos commentaires :</label>
<textarea name="comments" id="comments" cols="44" rows="8">
</textarea>
</fieldset>
<input name="envoyer" type="button" id="envoyer" value="Envoyer" onClick="envoie(this.form)">
<input name="retablir" type="reset" id="retablir" value="Rétablir">
</p>
</form>
-------------

envoi.php:

<?php
//il vous suffit de mettre votre adresse email a la ligne 22


//On récupère les valeurs du formulaire

$email = $_POST['email'];
$nom = $_POST['nom'];
$tel = $_POST['tel'];
$comments = $_POST['$comments'];

?>
<?php //On créée le message email

$msg = "Email= $email
Nom= $nom
Tel= $tel
Commentaires= $comments
Adresse email : $email";

$recipient = "monMail@des.fr"; //On met l'adresse email ou on veut recevoire le mail
$subject = " il demande à être contacter "; //On met le sujet du mail

$mailheaders = "From: venant du site ......<> n"; //depuis où il a été posté


mail($recipient, $subject, $msg, $mailheaders); // message confirmation que le mail a bien été envoyé

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyer!</TITLE></HEAD><BODY>";
echo "<H1 align=center><font color=#fba4c9>Merci</H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</font></P>";
echo "</BODY></HTML>";

?>



3 réponses

Twinpics
 
Bonsoir,

Code PHP
<?php 
//On récupère les valeurs du formulaire
$email = $_POST['email'];
$nom = $_POST['nom'];
$tel = $_POST['tel'];
$comments = $_POST['comments'];

$msg = "Coordonnées :\r\n";
$msg .= "Nom $nom (Tél. $tel - Email $email)\r\n\r\n";
$msg .= "$comments\r\n";
$msg .= "__________________________________________________________\r\n";
$msg .= "message automatique envoyé depuis le site web de \r\n";

$recipient = "monMail@des.fr"; // On met l'adresse email ou on veut recevoire le mail
$subject = "Un message de $nom"; // On met le sujet du mail
$mailheaders = "From: $nom <$email>\r\n"; //depuis où il a été posté
$mailheaders .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";

if(mail($recipient, $subject, $msg, $mailheaders)) {
	// message confirmation que le mail a bien été envoyé
	echo "<html><head>
	<title>Formulaire envoyer!</title></head><body>
	<h1 style="color: #fba4c9; text-align: center;">Merci</h1>
	<p style="color: #fba4c9; text-align: center;">Votre formulaire à bien été envoyé !</p>
	</body></html>";
} else {
	// message d'erreur le mail n'a pas pu être envoyé
	echo "<html><head>
	<title>Erreur envoi formulaire</title></head><body>
	<h1 style="color: #fba4c9; text-align: center;">Problème</h1>
	<p style="color: #fba4c9; text-align: center;">Un problème est survenu lors de la soumission du formulaire !</p>
	</body></html>";
}


ATTENTION
Pas de retour chariot (touche entrée du clavier) ni espace entre <textarea> et </textarea>
<label for="comments">Vos commentaires :</label> <textarea name="comments" id="comments" cols="44" rows="8"></textarea>

Bonne continuation...
0
tropicalm Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   1
 
Dans le processeur : ça c'est faux :

$comments = $_POST['$comments'];

Il fallait écrire :

$comments = $_POST['comments'];

D'une manière générale, il faut toujours faire afficher le contenu de $msg d'un mail avant de l'envoyer, au moins dans FirePHP, en mode DEBUG, par acquis de conscience.
0
FLAY
 
Merci pour votre aide.
0