Форма PHP: невозможно изменить информацию заголовка – уже отправленные заголовки

Я знаю, что этот вопрос задавался много раз, однако я не могу найти решения, которые имеют отношение к моей ситуации, поскольку они в основном касаются 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";} } ?> 

Письмо отправляется просто отлично, но я получаю титульную ошибку для перенаправления:

Предупреждение. Невозможно изменить информацию заголовка – уже отправленные заголовки (вывод запущен в /home/wills5/public_html/send_henry.php:1) в /home/wills5/public_html/send_email.php в строке 23

Edit: Это было frickin 'whitespace перед строкой 1, видимо, спасибо, ребята.

Если в сообщении говорится, что ошибка указана в строке 1, то обычно это пробел, текст> или HTML перед открытием

Скорее всего, у вас есть пробелы помимо или выше вашего <?php , или HTML или какой-либо другой тип вывода. Может быть, даже байт .

 <?php echo "Correct"; // or vvv, but not with echo // header("Location: http://www.example.com/"); ?> 

 (space) (space) <?php echo "Incorrect"; header("Location: http://www.example.com/"); ?> 

 <div align="center">Text</div> <?php echo "Incorrect"; header("Location: http://www.example.com/"); ?> 

Сноска: согласно предложению Гэвина, и я цитирую: «Это хорошая форма, чтобы оставить закрывающий php-тег в файлах классов по этой причине. Это предотвращает непреднамеренное включение белого пространства после включенного файла».