Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Header()??
 
 автор: Prihod   (05.06.2007 в 22:09)   письмо автору
 
 

Header из хелпа про эту функцию вычитал
->функция header() должна быть вызвана до любого вывода из PHP-скрипта, любого тэга HTML, пустой строки в файле и т.д. Наиболее распрастарннённая ошибка использование include(), require(), функций, пробелов и пустых строчек до вызова функции header().
Но встретил код в котором эта функция вызывается после использования include() которая подключат различные константы , а также находящейся не в начале php файла и в тоже время работает загружая другой скрипт header("Location:news.php?area=1”); а вот когда я что то подобное попробовал сделать то получил сообщение Cannot modify header information - headers already sent by (output started at j:\home\.....) , почему так

http://www.softtime.ru/dic/id_dic=145&id_group=4

   
 
 автор: skazi   (05.06.2007 в 22:11)   письмо автору
 
   для: Prihod   (05.06.2007 в 22:09)
 

Может там условия были, if(a) { header(...);} else {include"...";} ?

   
 
 автор: @ndry   (06.06.2007 в 12:49)   письмо автору
 
   для: skazi   (05.06.2007 в 22:11)
 

нельзя чтобы до хедела выдавалась любая инфа в браузер, а инклудить конфиги и т.д. можно вполне

   
 
 автор: Trianon   (05.06.2007 в 22:17)   письмо автору
 
   для: Prihod   (05.06.2007 в 22:09)
 

если скрипт-файл, который подключается с помощью include/require, не порождает вывод, то header() после него спокойно можно вызывать.
Собственно, include-файлы, порождающие вывод - на мой взгляд - признак плохого стиля.Вне связи с header().

include-файл должен создавать константы, функции, классы... А уже они в свою очередь могут порождать вывод. В момент использования, но никак не раньше.

   
 
 автор: Prihod   (05.06.2007 в 22:45)   письмо автору
 
   для: Trianon   (05.06.2007 в 22:17)
 

Да я тоже вроде бы перед вызовом header() ничего не вывожу а сообщение об ошибки появляется :(

   
 
 автор: Trianon   (06.06.2007 в 00:35)   письмо автору
 
   для: Prihod   (05.06.2007 в 22:45)
 

первая (последняя) пара байт включаемого файла должна быть парой символов <? (?>)

   
 
 автор: cheops   (06.06.2007 в 10:44)   письмо автору
 
   для: Prihod   (05.06.2007 в 22:09)
 

Вероятно скрипт ориентирован на включённую буферизацию - т.е. когда вся информация предварительно помещается в буфер и отправляется только после того, когда скрипт отработал.

   
 
 автор: Prihod   (06.06.2007 в 12:42)   письмо автору
 
   для: cheops   (06.06.2007 в 10:44)
 

нашел где был глюк , просто перед <?php у меня был пробел . Всем кто отвечал спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования