PHP联系表单未提交

时间:2016-06-03 17:17:43

标签: php mysql

[
  { ID: ID1, firstName: 'John', lastName: 'Doe' },
  { ID: ID2, firstName: 'Jane', lastName: 'Doe' }
]

这是我的代码我得到的问题是,当我提交表单时,我得到抱歉请再试一次。这是我添加的失败消息。我重新检查了我的代码,但我不确定为什么我收到此错误。我填补了每一个领域,但我仍然不确定为什么会这样。任何人都可以搞清楚吗?

3 个答案:

答案 0 :(得分:2)

这是因为mail()中对if (mail($to, $subject, $message, $headers)) {的调用返回false。

至于它失败的原因:PHP mail form doesn't complete sending e-mail详细说明了如何调试mail()没有发送电子邮件的原因。

答案 1 :(得分:1)

请参阅PHP手册中的mail()函数 http://php.net/manual/en/function.mail.php

如您所见,它返回一个“bool”值,在您的情况下,它返回FALSE。

快速测试mail()评论代码的这一部分

 $to = "adamskhan123@gmail.com";
 $subject ="New Contact";
 $message ="<p>Item Name: $itemname.</p>
 <p>Brand: $brandname.</p>
 <p>Description: $description.</p>
 <p>Availability: $availability.</p>
 <p>Contact Person: $contact</p>
 <p>Email: $email</p>
 <p>Location: $location</p>
 ";
 $headers ="Content-type: text/html";
 if (mail($to, $subject, $message, $headers)) {
 $resultMessage = '<div class="alert alert-success">Thank You. Your message has been sent</div>';
 } else {
 $resultMessage = '<div class="alert alert-danger">Sorry Please Try Again.</div>';
 }
 }

添加一个简单的行,如:

mail('adamskhan123@gmail.com','My Subject','Testing');

您也可以使用var_dump查看当前值是什么。

希望它有所帮助。

答案 2 :(得分:0)

此行为false:if (mail($to, $subject, $message, $headers)) { 删除mail和契约。 尝试其他条件如isset($var)而不是整个函数。