2017-06-19 128 views
0

我有一些麻烦,我的PHP电子邮件形式。我早些时候问过这个问题,但是意识到这个问题措辞不佳,所以我删除了这个问题并再次尝试。我是这个论坛的新手,我仍然习惯如何发布。PHP联系表发送空白电子邮件,文本输入不显示在电子邮件中

我的html联系表正在通过,但发送空白的电子邮件。

这里我们我的HTML表单:

<form id="contact_form" class="cf" name="contact_form" action="mailscript.php" method="POST"> 

    <div id="left_form_container"> 
     <div class="half_left_cf"> 
     <input type="text" name="name" id="input_name" placeholder="Name"> 
     <input type="email" name="email" id="input_email" placeholder="Email address"> 
     <input type="text" name="subject" id="input_subject" placeholder="Subject"> 
     </div> 
    </div> 

    <div id="right_form_container"> 
     <div class="half_right_cf"> 
      <textarea name="message" id="input_message" type="text" placeholder="Message"></textarea> 
      <div id="submit_container"> 
      <input type="submit" name="submit" value="Submit" id="input_submit"> 
      </div> 
     </div> 
    </div> 

</form> 

这里是我的PHP代码:

<?php 

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

$to = "[email protected]"; 
$body = "From: ".$name."\n E-Mail: ".$email."\n Message:\n" .$message; 



if(mail ($to, $subject, $body)){ 


echo "<script> 
alert('Thank you for sending your message!'); 
window.location.href='index.php'; 
</script>";} 
    else {echo "Mail was not sent!";} 


?> 

电子邮件作品(发送邮件),和回波显示 “谢谢”并将用户返回到主页面,但联系表单中的表单信息未通过发送。

取而代之,电子邮件地址为: “From: 电子邮件: 消息:“。

谁能告诉我,为什么它不包括我的HTML表单的输入域?这似乎很简单,但我似乎无法弄清楚。

+0

的输出是什么,当你回声$ _ POST [ '名']? –

+0

你还通过表格发送什么,有特殊字符? –

回答

0

您可以尝试做一些调试您的要求,如:

echo "<pre>"; 
print_r($_REQUEST); 
print_r($_GET); 
print_r($_POST); 
echo "</pre>"; 

而且,你必须确保你的表单方法属性POST或GET方法。

+0

它只是出来作为“阵列()”:/所以我不认为输入是通过实际来的。 – Tom

+0

是的,如果它是空数组,那么它肯定是错误的数据提交。我的建议,仔细检查你的

,加上我之前在行动页提到的那些调试代码,然后加入exit()函数。确保您从表单中获取数据。 –

0

从你的代码看起来似乎你忘了添加表单开始标记。 “<form>

如。

<form method="post" action="thepagetosubmit.php"> 

可能的完整码。

<form method="post" action="thepagetosubmit.php"> 
    <div id="left_form_container"> 
     <div class="half_left_cf"> 
     <input type="text" name="name" id="input_name" placeholder="Name"> 
     <input type="email" name="email" id="input_email" placeholder="Email address"> 
     <input type="text" name="subject" id="input_subject" placeholder="Subject"> 
     </div> 
    </div> 

    <div id="right_form_container"> 
     <div class="half_right_cf"> 
      <textarea name="message" id="input_message" type="text" placeholder="Message"></textarea> 
      <div id="submit_container"> 
      <input type="submit" name="submit" value="Submit" id="input_submit"> 
      </div> 
     </div> 
    </div> 

</form> 
+0

对不起,它看起来像我的开放表格标签没有粘贴时,我添加它。但我确实有这个。 – Tom