Php ? recevoir réponses formulaires

st -  
hyptos Messages postés 361 Statut Membre -
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. 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
    1. st
       
      si je le mets sur un hebergeur tout ira bien ?
      0
  2. krak225 Messages postés 32 Statut Membre
     
    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
    1. 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
  3. krak225 Messages postés 32 Statut Membre
     
    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
  4. hyptos Messages postés 361 Statut Membre 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