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

Форум PHP

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

 

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

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

тема: Cannot modify header information - headers already sent by
 
 автор: brokonyer   (29.05.2007 в 17:10)   письмо автору
 
 

У меня файл в кодировке utf-8,
при передаче header(); он выводит ошибку

Cannot modify header information - headers already sent by

я так понял у него в начале преобразуется какой то код называемым BOM, и он мещает отправке header(); только когда убераю этот часть кодировка utf-8 файла ищезает.
что мне делать?

   
 
 автор: Faraon   (29.05.2007 в 17:21)   письмо автору
 
   для: brokonyer   (29.05.2007 в 17:10)
 

перед <?php не должно быть ни пробелов ни пустых строк, ни вывода какой либо информации
Покажите код до header

   
 
 автор: Sobachka   (29.05.2007 в 18:06)   письмо автору
 
   для: Faraon   (29.05.2007 в 17:21)
 

можно выводить информацию через буфферизацию... не знаю выход ли... но думаю - да :)

   
 
 автор: Trianon   (30.05.2007 в 01:48)   письмо автору
 
   для: Sobachka   (29.05.2007 в 18:06)
 

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

   
 
 автор: cheops   (30.05.2007 в 01:38)   письмо автору
 
   для: brokonyer   (29.05.2007 в 17:10)
 

Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.

http://www.softtime.ru/group/id_group=12

   
 
 автор: brokonyer   (30.05.2007 в 13:22)   письмо автору
 
   для: cheops   (30.05.2007 в 01:38)
 

Вы меня наверно не так поняли. когда .php файл сохраняеш в кодировке utf-8 в начале кода появляется какой то символ он виден только если посмотреть ДОСовым редактором (Far Manager например) он и выводится до header(). Можете проверить сами. Файл я прикрепил.

   
 
 автор: cheops   (31.05.2007 в 10:39)   письмо автору
 
   для: brokonyer   (30.05.2007 в 13:22)
 

Она исчезает только в блокноте - если этот скрипт будет использоваться как часть UTF-8 страницы - проблем не будет.

   
 
 автор: brokonyer   (31.05.2007 в 14:30)   письмо автору
 
   для: cheops   (31.05.2007 в 10:39)
 

>Она исчезает только в блокноте - если этот скрипт будет использоваться как часть UTF-8 страницы - проблем не будет.

в каком смысле? если файл UTF-8, то в нем тоже будет этот символ, и он будет выводится до php кода. Выходит что надо использовать этот скрипт в обычном кодированным файле ибо не сработает.

   
 
 автор: Trianon   (31.05.2007 в 19:10)   письмо автору
 
   для: cheops   (31.05.2007 в 10:39)
 

Насколько я знаю, сам движок php этот символ ( Byte Order Mark) из потока не выкидывает.... а зря...

   
 
 автор: Sanyva   (01.06.2007 в 16:27)
 
   для: Trianon   (31.05.2007 в 19:10)
 

кстати я тоже с этим ХИДЕРОМ ПАРЮСЬ не могу запустить его !!!!!1

   
 
 автор: mihdan   (01.06.2007 в 17:05)   письмо автору
 
   для: brokonyer   (29.05.2007 в 17:10)
 

Первой строкой в файле напиши ob_start();

   
Rambler's Top100
вверх

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