Formulaire par mail.

Evenlouder -  
 Evenlouder -
Bonjour,

Je ne sais pas si je suis au bon endroit pour cela mais bon.

voila j'ai un petit souci avec pour envoyer un formulaire par e-mail.

Quand j'envoie mon formulaire, je reçois bien un mail mais vide enfin sans les informations.
Voila ce que je reçois :

Nom :
Adresse E-Mail:
Message:

Les informations n'apparaissent pas et je ne trouve pas mon erreur. Pouvez-vous m'aider ?

Voici ma page html

<html>
<head>
</head>
<body>

<HTML>
<HEAD>
<TITLE>Test formulaire</TITLE>
</HEAD>
<BODY>
<FORM method="POST" action="formail.php">
<P>Nom :<br>
<INPUT type="text" name="nom" size=30>
</p>
<P>Adresse E-mail :<br>
<INPUT type="text" name="email" size=30>
</p>
<P>Votre message :<br>
<textarea name="message" cols=30 rows=5></textarea>
</p><INPUT type="submit" value="Envoyer">
</FORM>
</BODY>
</HTML>

</body>
</html>

Et voici ma page formail.php

<?php

$msg = "Nom :\t$nom\n";
$msg .= "Adresse E-Mail:\t$email\n";
$msg .= "Message:\t$message\n\n";

$recipient = "mon adresse e-mail";
$subject = "test formulaire";

$mailheaders = "From: Mon site web<> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyé!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom</H1>";
echo "<P align=center>";
echo "Votre message a bien été envoyé.</P>";
echo "</BODY></HTML>";

?>

Comme vous pouvez le remarquer, je n'utilise pas la méthode action=mailto
car je ne veux pas avoir une fenêtre Windows live mail qui s'ouvre et être
obligé d'envoyer une seconde fois mon formulaire.

1 réponse

arthezius Messages postés 3756 Statut Membre 475
 
Tu devrais essayer:
<?php
$nom=$_POST['nom'];
$email=$_POST['email'];
$message=$_POST['message'];

$msg = "Nom :\t$nom\n";
$msg .= "Adresse E-Mail:\t$email\n";
$msg .= "Message:\t$message\n\n";

$recipient = "mon adresse e-mail";
$subject = "test formulaire";

$mailheaders = "From: Mon site web<> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyé!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom</H1>";
echo "<P align=center>";
echo "Votre message a bien été envoyé.</P>";
echo "</BODY></HTML>";

?> 
0
Evenlouder
 
Merci beaucoup arthezius pour ta réponse, cela fonctionne. Encore merci.
0