![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| s0lman |
|
||||||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
Здравствуйте.
Имею элементарное подобие админпанели файл switch.php
config.php
setconfig.php
теперь собственно вопрос. почему после щелчка по ссылке "Включить переадресацию" получаю сообщение Warning: Cannot modify header information - headers already sent by (output started at /sata1/home/users/creditonl/www/www.credit-online.in.ua/config.php:15) in /sata1/home/users/creditonl/www/www.credit-online.in.ua/setconfig.php on line 12 хотя нужное значение в config.php записывается. отключение же проходит "гладко". -------------------- Когда я уже выучусь на волшебника? :( |
||||||
|
|||||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
во-первых, после заголовка Location нельзя писать никакой код. поскольку нет гарантии, что он будет выполнен.
во-вторых, тебе же все пишет: в 15 строке файла config.php идет вывод в браузер. следовательно, заголовки уже отправить нельзя. подробнее можно почитать здесь: http://phpfaq.ru/headers Добавлено через 1 минуту и 14 секунд ой! а зачем ты открываешь config.php на чтение? |
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
действительно.... зачем? но на конечный результат ессесно не влияет. -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing |
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
единственное не пойму - какой вывод в config.php?
там только присваивание значений переменным. -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| smartov |
|
||||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
s0lman,
После header('Location...') должен сразу идти exit;
В 12 строке файла setconfig.php скорее всего возникает notice или warning, который не может корректно появиться потому, что хедеры уже отправлены ранее. --- Вышенаписанное неверно Это сообщение отредактировал(а) smartov - 22.1.2008, 14:34 |
||||
|
|||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
Что за чепухень? Какая разница интерпретатору, что там было послано в функции header()? Более того, после Location по-правильному желательно вывести страницу, с описанием ситуации, и, не плохо бы, META-переадресацией. |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
интерпретатору такая разница, что ему браузер закроет соединение. и скрипт завершится.
по поводу канонической отработки Location - это да. соглашусь, что желательно писать текстовое сообщение и ссылку. но на практике, поскольку никто никогда не сталкивался с клиентами, не поддерживающими 3хх, этим все пренебрегают. |
|||
|
||||
| Staind |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 175 Регистрация: 17.12.2007 Где: Планета сокровищ Репутация: 2 Всего: 3 |
Человек же привел статью, если читать влом, не пишите глупостей: http://phpfaq.ru/headers --------------------
Ничто так не раздражает человека, как просьба успокоиться |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Staind, в статье речь о том, что пишется до header
а здесь разговор зашёл о том, что после =) |
|||
|
||||
| Staind |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 175 Регистрация: 17.12.2007 Где: Планета сокровищ Репутация: 2 Всего: 3 |
Понял, значит вот статейка: http://www.php.su/functions/?header
--------------------
Ничто так не раздражает человека, как просьба успокоиться |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Гм. Ну, там я тоже не увидел по теме разговора.
Она, напомню, состоит в том, что я порекомендовал не полагаться на то, что код, следующий за location, будет весь исполнен. то есть, ситуация, противоположная установке exit - здесь exit не ставится специально. Хотя теперь я в этом не уверен. Надо автора спросить |
|||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Код после header('location...') может быть при чем какой угодно. Что тут такого. Просто нужно помнить, что хедеры отосланы, и при попытке вывести echo что-нибудь php сам попытается заново отослать хедеры, что у него, естественно, не получится.
|
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Ещё могут быть лишние фрагменты текста вне тегов <?php ?> - тоже частые и трудновылавливаемые грабли. К примеру:
Любой текст вне тегов <?php ?> будет вывыден в браузер, в примере - лишний перенос строки в конце. При чем проверять надо все включаемые до header() файлы. |
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
Да господа если кого-то интересует
после location прописал .$_SERVER['HTTP_REFERER'] и все отлично работает хотя чем это принципиально отличается от того что было я так и не понял. -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |