som*_*me1 0 php redirect contact-form
我知道这个问题已被多次询问,但是,我似乎无法找到与我的情况相关的解决方案,因为它们主要处理wordpress.
这是我的邮件表格:
<?php
$to = "email@gmail.com" ;
$from = $_REQUEST['email'] ;
$name = $_REQUEST['name'] ;
$headers = "From: $from";
$subject = "Contact Submission From domain.com";
$fields = array();
$fields{"name"} = "name";
$fields{"title"} = "title";
$fields{"email"} = "email";
$fields{"phone"} = "phone";
$fields{"prefer_phone"} = "pref_phone";
$fields{"prefer_email"} = "pref_email";
$fields{"message"} = "message";
$fields{"referral"} = "referral";
$body = "Here is their submitted message:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n\n",$b,$_REQUEST[$a]); }
if($from == '') {print "You have not entered an email, please hit back and resubmit";}
else {
$send = mail($to, $subject, $body, $headers);
if($send)
{header( "Location: http://www.domain.com/sent.html" );}
else
{print "We encountered an error sending your mail, please notify support@domain.com";}
}
?>
Run Code Online (Sandbox Code Playgroud)
电子邮件发送得很好,但我得到了重定向的名义错误:
警告:无法修改标题信息 - 第23行/home/wills5/public_html/send_email.php中已经发送的标题(/home/wills5/public_html/send_henry.php:1中的输出开始)
编辑:显然是第1行之前的空白,谢谢你们.
如果消息显示错误在第1行,那么它通常在打开之前引导空格,text>或HTML
您可能在<?php标签之外或之上有空格,或HTML或其他类型的"输出".甚至可能是字节顺序标记.
<?php
echo "Correct";
// or vvv, but not with echo
// header("Location: http://www.example.com/");
?>
Run Code Online (Sandbox Code Playgroud)
(space)
(space) <?php
echo "Incorrect";
header("Location: http://www.example.com/");
?>
Run Code Online (Sandbox Code Playgroud)
<div align="center">Text</div>
<?php
echo "Incorrect";
header("Location: http://www.example.com/");
?>
Run Code Online (Sandbox Code Playgroud)
脚注:根据Gavin的建议,我引用:"由于这个原因,在类文件上留下关闭的php标记是一种很好的形式.它可以防止在包含文件后无意中包含空格."
| 归档时间: |
|
| 查看次数: |
4063 次 |
| 最近记录: |