【发布时间】:2015-06-08 14:34:38
【问题描述】:
所以我尝试在 2 个不同的服务器上发布一个带有 PHP 联系表单的页面,但我无法让它们中的任何一个完美地工作。
服务器 1:
提交时返回500 internal error 页面。
我联系了网络支持,他们回复说我有:
脚本“index.php”的标头格式错误:标头错误:
我的 index.php 代码如下:
<?php
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$query = $_POST['message'];
$email_from = $name.'<'.$email.'>';
$to="testemail@email.com";
$subject="test subject";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From: ".$email_from."\r\n";
$message="
Name:
$name
<br>
Email:
$email
<br>
Message:
$query
";
if(mail($to,$subject,$message,$headers))
header("Location:../contact.php?msg=Successful Submission!<br />
Thank you for contacting us.");
else
header("Location:../contact.php?msg=Error To send Email !");
}
?>
服务器 2:
正确地将我链接到我的“感谢页面”,但它正在显示
“发送电子邮件出错!”代替
“提交成功!”
任何帮助或建议将不胜感激!
【问题讨论】:
-
除了下面的答案中提到的(1.在
header("Location: ...);和2.urlencode()你的查询字符串中使用绝对URI),如果你打算发送标题,你会想要修剪 PHP 开始标记之前的前导空格。 -
除了答案之外,请确保您上面提供的代码出现在您页面的最顶部。