2017-04-01 2 views
0

J'ai un problème avec le formulaire de contact que j'ai créé. Lorsque l'utilisateur clique sur le bouton Envoyer un e-mail, je reçois l'e-mail avec un en-tête, mais je ne peux pas voir l'entrée de l'utilisateur. Donc, fondamentalement, je suis capable de voir l'en-tête ($ sujet) et le texte pré-écrit ("Ceci est un message automatisé"), mais je ne suis pas en mesure de voir le contenu de $ email et $ message. Quel pourrait être le problème?Problèmes avec le formulaire de contact PHP

<?php 

$email = $_POST['email']; 
$message = $_POST['message']; 

$to = "[email protected]"; 
$subject = "New Message!"; $body = "This is an automated message. Please do not reply to this email. \n\n $email \n\n $message"; 

mail($to, $subject, $body); echo "Message Sent."; 
?> 



<form id="contact-me-form" action="contact.php" name="contact_form "method="post"> 
    <input type="text" name="email" placeholder="Email Address"> 
    <textarea name="message" placeholder="Type Your Message Here"></textarea> 
    <input id="sendEmail" type="submit" name="submit" value="Send"> 
</form> 
+1

Vous recevez un email chaque fois que l'utilisateur ouvre votre page. –

+0

@u_mulder droite c'est pourquoi vous ne voyez pas l'utilisateur entré le texte dans votre corps de message –

+0

Enveloppez votre code php dans if (isset ($ _ POST ['submit']) {// votre code}; – Chris

Répondre

1

vous devez vérifier si vous avez des paramètres post envoyer alors l'e-mail

changer votre code à

 <?php 
    if(isset($_POST['email']) && isset($_POST['message'])){ 
     $email = $_POST['email']; 
     $message = $_POST['message']; 

     $to = "[email protected]"; 
     $subject = "New Message!"; $body = "This is an automated message. Please do not reply to this email. \n\n $email \n\n $message"; 

     mail($to, $subject, $body); echo "Message Sent."; 
    } 
    ?> 



    <form id="contact-me-form" action="contact.php" name="contact_form "method="post"> 
     <input type="text" name="email" placeholder="Email Address"> 
     <textarea name="message" placeholder="Type Your Message Here"></textarea> 
     <input id="sendEmail" type="submit" name="submit" value="Send"> 
    </form> 
+0

Merci :) cela a semblé fonctionner! –

0

Essayez comme ça

<?php 

$email = $_POST['email']; 
$message = $_POST['message']; 

$to = "[email protected]"; 
$subject = "New Message!"; $body = "This is an automated message. Please do not reply to this email. \n\n $email \n\n $message"; 
$body= $_POST["message"] 
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
mail($to, $subject, $body); echo "Message Sent."; 

} 
?> 



<form id="contact-me-form" action="contact.php" name="contact_form "method="post"> 
    <input type="text" name="email" placeholder="Email Address"> 
    <textarea name="message" placeholder="Type Your Message Here"></textarea> 
    <input id="sendEmail" type="submit" name="submit" value="Send"> 
</form> 

Ceci enverra un e-mail à [email protected] lorsque l'utilisateur soumet un message sous la forme