この質問が何度も寄せられていることは知っていますが、主にワードプレスを扱っているため、私の状況に関連する解決策が見つからないようです。
ここに私のメールフォームがあります:
<?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";}
}
?>
メールは問題なく送信されますが、リダイレクトのタイトル エラーが表示されます。
警告: ヘッダー情報を変更できません - 23 行目の /home/wills5/public_html/send_email.php の (/home/wills5/public_html/send_henry.php:1 で開始された出力) によって既に送信されたヘッダー
編集:どうやら1行目の前に空白がありました、ありがとう。
エラーが行 1 にあるとメッセージに示されている場合は、通常、先頭の空白、テキスト、または HTML が冒頭の前にあります。