2016-07-11 53 views
0

我是PHP的新手,但是我发现了一些Web表单的示例代码。我适应它像这样,在一个名为contact.php:试图用Bluehost创建一个使用PHP的联系表格

<?php 
    mail('[email protected]', $_POST['name'], $_POST['email'], $_POST['subject'], $_POST['message']); 
?> 
<p>Your message has been sent.</p> 

和这里的HTML:

 <form action="contact.php" method="post" enctype="text/plain"> 
      Name<br> 
      <input type="text" name="name" value=""><br><br> 
      Email<br> 
      <input type="text" name="email" value=""><br><br> 
      Subject<br> 
      <input type="text" name="subject" value=""><br><br> 
      Message<br> 
      <textarea name="message" rows="10" cols="50"></textarea><br><br> 
      <input type="submit" value="SUBMIT"> 
     </form> 

这是行不通的,所以我做了一些研究,发现BlueHost的需要你为此使用他们自己的Bluemail。所以我放弃了PHP并遵循他们的教程。那也没用,所以我做了一些更多的研究,发现他们停止了Bluemail。所以我回到PHP方法,并将电子邮件更改为一个蓝色的电子邮件地址(显然这也是必需的)。

长话短说,我查看了我的垃圾邮件文件夹,发现一些我尝试从表单发送的测试电子邮件,但它们都是空白的。没有主题,没有消息内容。

所以看起来联系表格正在工作(在它发送电子邮件),但表格中输入的实际信息没有通过。我认为我的PHP代码有问题?

任何帮助将不胜感激!

回答

0

好像你正在使用错误的语法邮件 尝试

<?php $msg = $_POST['name']."<br/>". $_POST['email']."<br/>". $_POST['message']; mail("[email protected]",$_POST['subject'],$msg); ?>

0

你可以试试这个代码(也许会为你工作):

<?php 
$msg = $_POST['name']."<br/>". $_POST['email']."<br/>". $_POST['message']; 
if (isset($_POST["email"])) { 
mail($_POST["email"],$_POST['subject'],$msg); 
    echo "Your message has been sent.";  
}else{ 
    echo "N0, mail is not set"; 
} 
?>