2017-04-01 7 views
0

私が作成したコンタクトフォームに問題があります。ユーザーがメールを送信ボタンをクリックすると、ヘッダー付きのメールが届きますが、ユーザーの入力は表示されません。PHPのコンタクトフォームに関する問題

基本的にヘッダー($件名)とあらかじめ書かれたテキスト(「これは自動メッセージです」)を見ることができますが、$ emailと$ messageの内容を見ることができません。何が間違っていますか?

<?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

ユーザーがページを開くたびにメールが届きます。 –

+0

@u_mulderなので、あなたのメッセージ本文にユーザーが入力したテキストを見ないのはなぜですか? –

+0

if(isset($ _ POST ['submit'])){// your code}; – Chris

答えて

1

あなたは

 <?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

ありがとうございます:)これはうまくいきました! –

0

にあなたのコードは、これは電子メールを送信します。この

<?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> 

のように試してみてください、その後、電子メールに

変更を送信しますが、POSTパラメータを持っているかどうかを確認する必要がありますユーザーがフォームでメッセージを送信すると、[email protected]に送信されます

関連する問題