Php ? recevoir réponses formulaires

st -  
hyptos Messages postés 360 Date d'inscription   Statut Membre Dernière intervention   -
bonjour,
j'ai créé un formulaire en html ou réponse en php
j'ai bien mis les deux codes dans www/de wamp
y a du progrés mais maintenant quand je clique envoie j'obient ceci:

Notice: Undefined index: Message in C:\wamp\www\essai\reponse.php on line 6

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\essai\reponse.php on line 17

Thank You
Your feedback has been sent.


et mon code est :


<?php
if(isset($_POST['sender_name'])){
$sender_name=$_POST['sender_name'];

$sender_email=$_POST['sender_email'];
$sender_Message=$_POST['Message'];

$recipient = "stev@hotmail.com";
$subject = "Web Site Feedback";
$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";





mail($recipient, $subject, $sender_Message, $mailheaders);
}



echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Thank You </H1>";
echo "<P align=center>";
echo "Your feedback has been sent.</P>";
echo "</BODY></HTML>";

?>

4 réponses

Utilisateur anonyme
 
Ton soucis, c'est que tu n'a pas de serveur mail sur ton pc et donc il dit que il n'arrive pas à s'y connecter depuis la localhost, ce qui est assez normal si ton site est sur wamp ... :)
0
st
 
si je le mets sur un hebergeur tout ira bien ?
0
krak225 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Salut, tu devrais nous présenter également ton formualire HTML, mais je pense déjà qu'aucun champ de ton formulaire de porte le nom message (<textarea name="Message"></textarea>). C'est à dire que le script ne retrouve pas le champ dont le name vaut Message. C'est ce qui explique le 1 er message d'erreur.
Le 2è est du au fait que tu n'as pas un serveur mail pour envoyer le message par la fonction mail().
Ensuite le message qui s'affiche , tu aurais du le mettre avec condition que le mail soit envoyé. Du genre

echo "<HTML><HEAD>";
echo "<TITLE>Form Sent!</TITLE></HEAD><BODY>";
if(mail($recipient, $subject, $sender_Message, $mailheaders))
{

echo "<H1 align=center>Thank You </H1>";
echo "<P align=center>";
echo "Your feedback has been sent.</P>";

}else{
echo "<H1 align=center>Sorry </H1>";
echo "<P align=center>";
echo "Your feedback has not been sent.</P>";
}
echo "</BODY></HTML>";

Je pense que tu t'en sortira.
0
st
 
oui j'utulise wamp
mon code html est celui ci

merci bien

<HTML>
<HEAD>
<TITLE>E-Mail Form</TITLE>
</HEAD>
<BODY>
<FORM method="POST" action="do.php">
<P>Your Name:<br>
<INPUT type="text" name="sender_name" size=30>
</p>
<P>Your E-Mail Address:<br>
<INPUT type="text" name="sender_email" size=30>
</p>
<P>Message:<br>
<textarea name="message" cols=30 rows=5></textarea>
</p><INPUT type="submit" value="Send This Form">
</FORM>
</BODY>
</HTML>
0
krak225 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Et voilà, comme je le disais. l'erreur se trouve ici:

<textarea name="message" cols=30 rows=5></textarea>

tu devrait récupérer la valeur saisi dans se champ avec

$sender_Message=$_POST['message'];

et non

$sender_Message=$_POST['Message'];
0
hyptos Messages postés 360 Date d'inscription   Statut Membre Dernière intervention   115
 
Je vois que tu utilises wamp !

As tu activer la fonction mail ?

Voila un tuto pour le faire : http://www.techpaf.fr/programmation/comment-activer-lenvoie-de-mail-sous-wamp/

Bonne journée
@++
0