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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Warning: Cannot modify header information - headers already sent by

Сообщения:  [1-9] 

 
 автор: gen   (04.03.2007 в 13:23)   письмо автору
 
   для: cheops   (04.03.2007 в 12:33)
 

Спасибо, получилось

   
 
 автор: cheops   (04.03.2007 в 12:33)   письмо автору
 
   для: gen   (04.03.2007 в 06:15)
 

Исправьте ещё директиву error_reporting
error_reporting = E_ALL & ~E_NOTICE 

   
 
 автор: Disable   (04.03.2007 в 11:38)   письмо автору
 
   для: gen   (04.03.2007 в 06:15)
 

Отключите вывод ошибок вообще или подправьте скрипт.
Все ведь из-за этого
Notice: Undefined index: DefaultCharset in e:\www\html\phpmyadmin\libraries\select_lang.lib.php on line 301
вылезает предупреждение первым, и тем самым сбивает все header'ы.

   
 
 автор: gen   (04.03.2007 в 06:15)   письмо автору
 
   для: cheops   (04.03.2007 в 01:01)
 

все это я постараюсь осмыслить, но меня смущает то, что это началось после переустановки локалхоста и я забеспокоился что я сделал где-то ошибку в настройках ведь до этого все было без такого рода сообщений и output_buffering = On ничего не изменило

   
 
 автор: cheops   (04.03.2007 в 01:01)   письмо автору
 
   для: Киналь   (04.03.2007 в 00:44)
 

У меня в CHM-формате форума подобрано несколько вариантов, я копирую один из них. У сессионных функций действительно имеется неприятность в виде неявной отправки HTTP-заголовоков. В других языках программирования, разработчик вынужден их отправлять самостоятельно, а тут PHP выполняет эту работу за кадром и логика работы header(), setcookie() и session_start() становится не очевидной. С таким поведением и связанным с ними вопросами ничего не поделаешь, дикий рёв, принятый в таком случае на других форумах делу не поможет. Нужно было PHP-разработчикам, либо буферизацию по умолчанию включать, либо интерфейс как-то переработать...

   
 
 автор: Киналь   (04.03.2007 в 00:44)   письмо автору
 
   для: cheops   (04.03.2007 в 00:37)
 

К форуму нужно приделать функцию "стандартный ответ", как в смс-ках=) Нажал на кнопочку - и вуаля ответ про hedaers already sent, нажал на другую - про обработку POST-данных... Хотя, возможно, это функция уже есть)))

   
 
 автор: cheops   (04.03.2007 в 00:37)   письмо автору
 
   для: gen   (03.03.2007 в 18:13)
 

Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/group/id_group=12
http://www.softtime.ru/forum/ead.php?id_forum=1&id_theme=147
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
Вы можете также включить буфферизацию, если имеете доступ к конфигурационному файлу php.ini
output_buffering = On

   
 
 автор: ddhvvn   (03.03.2007 в 18:43)   письмо автору
 
   для: gen   (03.03.2007 в 18:13)
 

Тогда в PHP.ini исправьте след. строку

output_buffering = On

   
 
 автор: gen   (03.03.2007 в 18:13)   письмо автору
 
 

после переустановки локалхоста замучили сообщения типа

Notice: Undefined index: DefaultCharset in e:\www\html\phpmyadmin\libraries\select_lang.lib.php on line 301

Warning: Cannot modify header information - headers already sent by (output started at e:\www\html\phpmyadmin\libraries\select_lang.lib.php:301) in e:\www\html\phpmyadmin\libraries\select_theme.lib.php on line 86

Warning: Cannot modify header information - headers already sent by (output started at e:\www\html\phpmyadmin\libraries\select_lang.lib.php:301) in e:\www\html\phpmyadmin\index.php on line 26

Warning: Cannot modify header information - headers already sent by (output started at e:\www\html\phpmyadmin\libraries\select_lang.lib.php:301) in
e:\www\html\phpmyadmin\index.php on line 55

смотрел php.ini
но ...

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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