2016-12-03 143 views
-1

我需要帮助,我试图建立一个联系表格,我有代码,并认为我已经用HTML和PHP正确设置。当我提交在我的测试网站上进行测试时,它会发送一封电子邮件,但电子邮件是空白的。PHP联系表格发送电子邮件中没有内容

如果你能帮助我,请提前致谢。

Screen shot of blank content being sent to email

HTML:

<div class="col-md-6 contact-right"> 

        <form name="contactform" action="mailer.php" method="post" role="form" enctype="text/plain"> 
         <div class="styled-input agile-styled-input-top"> 
          <input type="text" class="form-control" name="name" placeholder="Your Name"> 
          <label for="name">Name</label> 
          <span></span> 
         </div> 
         <div class="styled-input"> 
          <input type="text" class="form-control" name="email" placeholder="Your Email"> 
          <label for="email">Email</label> 
          <span></span> 
         </div> 
         <div class="styled-input"> 
          <input type="text" class="form-control" name="subject" placeholder="Subject"> 
          <label for="subject">Subject</label> 
          <span></span> 
         </div> 
         <div class="styled-input"> 
          <textarea class="form-control" rows="4" name="message" placeholder="Your message..."></textarea> 
          <label for="message">Message</label> 
          <span></span> 
         </div> 
         <input type="submit" value="Submit" name="submit"> 
        </form> 
     </div> 
       <div class="clearfix"> </div> 
      </div> 
     </div> 
    </div> 

PHP:

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$formcontent="From: $name \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Enquiry from CK9C Website"; 
$mailheader = "From: $email \r\n"; 
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
echo "Thank You! We will be in touch very soon"; 
?> 
+2

你能确认邮件在表单提交中不是空白吗?即'var_dump($ _ POST)'中的值是什么?从你的屏幕截图看来,'$ name'和'$ message'的值是空的。 – faintsignal

+0

我在消息中添加了几行文字 –

回答

-2

你可以尝试代替$ _ POST

if ((!is_array($_POST)) || (count($_POST) < 1)) { 
    $_POST = json_decode(file_get_contents('php://input'), true); 
} 
+1

在这个问题的任何地方都没有JSON。检查POST值,然后使用'php:// input',是没有意义的。 –

2

的问题是在这里: <form name="contactform" action="mailer.php" method="post" role="form" enctype="text/plain">

您编码为 “text/plain的”。替换为默认的“application/x-www-form-urlencoded”,或者不包含enctype,这将是默认设置。

+0

非常感谢你,它现在正常工作!你太棒了! –