我正在尝试在我的网站上添加联系表单,但每次点击发送时都会将我带到黑色窗口,地址栏显示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
}
?>
答案 0 :(得分:2)
您需要一个邮件服务器,PHP不会自己发送邮件。先安装一个。是的,文本区域缺少关闭标记。
答案 1 :(得分:0)
您错过了表单中的结尾textarea标记。我在我的服务器上尝试将代码作为contact.php运行。我同意itachi,你需要打开错误报告。
为什么不将contact.php变成一整页并完全摆脱重定向?
答案 2 :(得分:0)
对我来说很好。如果字段没有值,那么你的if else条件不能正常工作,那么它仍然会给你一个感谢信息。