1

我正在尝试向我的网站添加联系表格,但每次单击发送时,它都会将我带到一个黑色窗口,并且地址栏显示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
}
?>
4

3 回答 3

2

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

于 2013-01-24T05:34:34.880 回答
0

您缺少表单中的结束 textarea 标记。我在我的服务器上尝试了代码为contact.php,它可以工作。我同意 itachi,您需要打开错误报告。

为什么不让contact.php 成为一个完整的页面并完全摆脱重定向?

于 2013-01-24T05:31:23.307 回答
0

对我来说工作得很好。如果字段没有值,则您的 if else 条件无法正常工作,那么它仍然会给出感谢信息。

于 2013-01-24T05:35:08.857 回答