Php ? recevoir réponses formulaires

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

  1. 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
    @++
    1. 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'];
      1. 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.
        1. 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>
      2. 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 ... :)
        1. si je le mets sur un hebergeur tout ira bien ?