Перейти к содержимому

Реферальная программа Мегаплана


Cannot modify header information - headers already sent

#1 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71
0

Отправлено 24 Декабрь 2009 - 10:55

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\foto\www\index.php:13) in Z:\home\foto\www\module\online.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\foto\www\index.php:13) in Z:\home\foto\www\module\online.php on line 43

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\foto\www\index.php:13) in Z:\home\foto\www\module\online.php on line 46

вот эти строки
		# Ставим куки
setcookie("id", $data['user_id'], time()+60*60*24*30);
setcookie("hash", $hash, time()+60*60*24*30);

# Переадресовываем браузер на страницу проверки нашего скрипта
header("Location: check.php"); exit();

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Warning: Cannot modify header information - headers already
  2. Решение проблемы "Cannot add header information - headers already sent"
  3. Что за ошибка - Cannot modify header information

#2 EugeneM

EugeneM
  • Пользователь
  • 20 сообщений
  • Репутация: 0

Отправлено 24 Декабрь 2009 - 16:44

Перед отправкой заголовка (header) не должно вообще ничего выводиться (ни результат действия команд php, ни содержимое html) на страницу.
Т.е. твой файл online.php должен начинаться с <?php, и перед этим не должно быть ни одного символа (в т.ч. и пробела, перевода строки и т.п.). Внутри самого скрипта до header тоже ничего выводиться не должно.
А там похоже так и есть. К сожалению, по приведенному отрывку ничего не видно.
  • 0

#3 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 24 Декабрь 2009 - 17:09

да, я уже разобрался, спасибо!
  • 0

#4 BaCo

BaCo
  • Пользователь
  • 103 сообщений
  • Репутация: 0

Отправлено 29 Апрель 2010 - 18:13

А чтобы можно было что-нибудь писать юзай функции:
ob_start();
в самом начале и
ob_end_flush();
в конце
  • 0

#5 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 29 Апрель 2010 - 18:18

BaCo, не советую, знаете во сколько раз отличается загрузка информации с буферизацией.
Кстати, если вы поставите как вы сказали, то ваш сайт, пока вся информация не будт сформирована, выведен на страницу не будет. Так что не советую ей злоупотреблять. А если уж и хотите использовать, то используйте по назначению :rolleyes:
  • 0

#6 BaCo

BaCo
  • Пользователь
  • 103 сообщений
  • Репутация: 0

Отправлено 04 Май 2010 - 14:09

А что делать, если нельзя использовать эти функции, но просто необходимо отправить информацию в заголовках после текста???
  • 0

#7 reaboom

reaboom
  • Пользователь
  • 40 сообщений
  • Репутация: 0

Отправлено 04 Май 2010 - 14:37

Насколько я знаю, ничего не сделаешь. А если не секрет, то зачем вам заголовки отправлять, после выдачи результата? Не разу с таким не сталкивался за свою практику...


  • 0

#8 BaCo

BaCo
  • Пользователь
  • 103 сообщений
  • Репутация: 0

Отправлено 04 Май 2010 - 17:43

Просто так, для пополнения знаний


  • 0

#9 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 05 Май 2010 - 09:27

Ну никак. =) Заголовки для того и называются заголовками а не заножками. =)
В них отправляется вся необходимая информация для дальнейшего правильного расценивания скриптом или браузером твоего скрипта(Что за тип документа, есть ли перенаправления и т.д.);

Представляешь, скажешь ты серверу, что это файл формата jpeg. А потом вдруг неожиданно пустишь туда текст. Откуда в image/jpeg строки? Вот чтобы не было таких противоречий и дыр в безопасности, заголовки отправляются до отправления тела документа.

Хотя, меня, честно говоря данный факт порой тоже очень раздражает. Как было бы удобно, сессию посередине скрипта объявить например. Или сделать header('Location:'); после вывода текста. =)
  • 0

#10 BaCo

BaCo
  • Пользователь
  • 103 сообщений
  • Репутация: 0

Отправлено 05 Май 2010 - 13:16

сделать header('Location:'); после вывода текста. =)

как знакомо :rolleyes:
спасибо за развернутый ответ. Теперь буду знать.
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru