Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > HELP! include vs header


Автор: markus_smile 9.9.2007, 16:39
после вставки include неработает header("Location: /"), если вынуть код из инклуда и вставить прямо в скрипт, то всё работает! Что за магия такая?!

Автор: Flashdown 9.9.2007, 16:42
ну привел бы чтоль код!  smile 

Автор: markus_smile 9.9.2007, 16:47
основной код:

Код

/*error_reporting (E_ALL | E_STRICT);
ini_set("display_errors", "1"); */

require_once($_SERVER['DOCUMENT_ROOT']."/init.php");

header("Location: /");


код инклуда:

Код


define("DIR_TEMPLATES",DIR_ENGENIE."_templates/");

include_once(DIR_LIB."csMysql.php");


Добавлено через 5 минут и 7 секунд
если даже убрать весь код из инклуда, всё равно не работает smile 

Автор: Sergey89 9.9.2007, 17:00
Проверь, чтобы в подключаемом файле лишних символов небыло. Файл не в UTF-8?

Автор: markus_smile 9.9.2007, 17:25
да косяк в файле инклуда, правда так и непонял где, просто пришлось переписать содержимое в блокноте.

Спасибо!

Автор: ewolf 9.9.2007, 17:32
Медиум только что вышел из отпуска и говорит, что ошибка у тебя была в том, что до или после тегов <?php ?> был пробел (скорее всего после)

Автор: Flashdown 10.9.2007, 00:55
а если бы ты раскоментировал
Код

 /*error_reporting (E_ALL | E_STRICT);
ini_set("display_errors", "1"); */

то сам бы наверное понял в чем была ошибка

Автор: CTAzz 10.9.2007, 10:18
У меня тоже не хочет переходить на другую страницу выдает следующее

Код

Warning: Cannot modify header information - headers already sent by (output started at z:\home\127.0.0.1\www\top.php:11) in z:\home\127.0.0.1\www\history.php on line 27


27 линия history.php 
Код

header( "Location: history.php" ); 


top.php инклудится после 11 строки начинается php код

Какие могут быть ошибки?

Автор: ewolf 10.9.2007, 12:46
а что находится в top.php на 11 строке и раньше? Скорее всего на 11 строке есть оператор echo или другой способ вывода в браузер кода

Автор: CTAzz 10.9.2007, 14:57
на 11 строке содержится простой html код как и на 10 строках выше него, убирая этот топ.пхп он начинает выдавать ошибки все ниже и ниже, в общем думаю придется все с нуля смотреть

Автор: Acer 10.9.2007, 15:37
До функции header(); ничего не должно быть, что выводит что-либо. Никакого html, echo(), print() и т.п. Сначала скрипт посылает заголовки (header();) а потом все остальное. Так что, уберите все выводы до строки с header(), либо переместите ее выше html кода либо функции echo / print .

Автор: GZep 10.9.2007, 17:21
Код

header( "Location: history.php" ); 
die();


используйте header в связке с exit (или die).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)