Lumore
@Lumore
Front-end developer

Что я не правильно делаю с header?

"Warning: Cannot modify header information - headers already sent by (output started at W:\home\sub.pro\www\system\header.php:6) in W:\home\sub.pro\www\system\pages\sign-in.php on line 21" - появляется варнинг при попытке переадресации.
Читал в интернете, что проблемой может быть кодировка, но я все проверил - с кодировкой все нормально.
Строки с 6 по 13 файла header.php:
<?
if(isset($title)) {
	echo $title." - ".$config['site-name'];
}
else {
	echo $config['site-name'];
}
?>

Строка с 21 по 22 файла sign-in.php:
header("Location: /feed");
                    exit();

Что не так?
  • Вопрос задан
  • 2435 просмотров
Решения вопроса 2
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
Почистите код от лишних пробелов. Проверьте все закрывающие и открывающие теги <? ?>.

У Вас где-то до отправки header'ов выводятся символы на страницу, а это недопустимо.

К тому же у Вас в файле header.php производится echo имени сайта. Этот оператор в логике скрипта стоит до отправки заголовков или после? Если до — то читайте предыдущий абзац: до отправки header'ов не допускается вывод ни одного символа.
Ответ написан
@Nc_Soft
echo 'blabla';
header("Location: /feed");

Достаточно этих двух строк чтобы вызвать такую ошибку, если лень переделывать, то можно добавить ob_start(); в начало кода
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Ежедненвый вопрос https://toster.ru/search?q=headers+already+sent
Ответ написан
Комментировать
Yarez
@Yarez
Web Developer
проверьте чтобы кодировка была utf-8 Без BOM.
Ответ написан
sabramovskikh
@sabramovskikh
Ответ написан
Комментировать
gluck59
@gluck59
Виртуальный глюк
Выводите хедеры раньше чем все остальное.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы