Это мой первый вопрос, и я постараюсь следовать всем советам, которые я получил при регистрации ...
Моя проблема - ошибка «отправленные заголовки» при попытке перенаправить PHP.
У меня есть этот маленький скрипт для проверки перенаправления:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
</head>
<body>
<?php
if (isset($_POST['go']) && $_POST['go'] == 'go') {
$redirectURL = 'test1.php';
header( 'Location: ' . $redirectURL ) ;
exit();
}
echo '<p>This is Page 1. We will test a redirect. Type in \'go\' and hit submit:</p><br><br>';
echo '<form name="test" method="post" action="' . $_SERVER['PHP_SELF'] . '">';
echo '<input type="text" name="go">';
echo '<input type="submit" name="submit">';
echo '</form>';
?>
</body>
</html>
Он отлично перенаправляется при запуске на сервере Windows, но на Apache выдает ошибку:
Предупреждение: невозможно изменить информацию заголовка - заголовки уже отправлены (вывод начался с /home/simply92/public_html/test/testUTF.php:7) в /home/simply92/public_html/test/testUTF.php в строке 10
Строка 7 - это тег php.
Я использовал редактор кода моего веб-хостинга для сохранения с кодировкой ISO-8859-1 (которая должна получить любые спецификации из уравнения, верно?), И я установил кодировку по умолчанию в php.ini на ISO-8859-1 как хорошо (в случае, если это имеет значение.)
Одна странная вещь заключается в том, что он перенаправляет даже на Apache, когда я удаляю doctype и все остальное до тега php, и моя самая первая строка в скрипте будет <?php
. Очевидно, что это не может быть решением.
Итак, мой вопрос: как я могу узнать, ЧТО отправляется до вызова header (), а затем, как я могу от него избавиться?
Надеюсь, кто-то может указать мне правильное направление!
Заранее спасибо.