PHP联系表单不起作用

时间:2013-01-24 05:04:37

标签: php html

我正在尝试在我的网站上添加联系表单,但每次点击发送时都会将我带到黑色窗口,地址栏显示contact.php。它也不会重定向回来。 我的网站使用谷歌应用引擎作为应用程序托管。

我尝试了一切,但我无法让它发挥作用。

以下是我的 HTML 代码:

<form action="contact.php" method="post">
    <p>Your name</p>
    <input type="text" name="name"/>
    <p>Your e-mail</p>
    <input type="text" name="email"/>
    <p>Message</p>
    <textarea name="message"></textarea>
    <input type="submit" value="Send"/>
    <input type="reset" value="Clear"/>
</form>

这是我的 PHP 代码:

<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];

$mail_to = 'email@here.com';
$subject = 'Message from a site visitor '.$field_name;

$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        alert('Thank you for the message.');
        window.location = 'contact.html';
    </script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
        alert('Message failed.');
        window.location = 'contact.html';
    </script>
<?php
}
?>

3 个答案:

答案 0 :(得分:2)

您需要一个邮件服务器,PHP不会自己发送邮件。先安装一个。是的,文本区域缺少关闭标记。

答案 1 :(得分:0)

您错过了表单中的结尾textarea标记。我在我的服务器上尝试将代码作为contact.php运行。我同意itachi,你需要打开错误报告。

为什么不将contact.php变成一整页并完全摆脱重定向?

答案 2 :(得分:0)

对我来说很好。如果字段没有值,那么你的if else条件不能正常工作,那么它仍然会给你一个感谢信息。