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

Форум PHP

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

 

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

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

тема: порядок обработки header?

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

 
 автор: header   (20.06.2007 в 10:43)   письмо автору
 
   для: Trianon   (20.06.2007 в 10:19)
 

Понятно. С die() после header() тоже сработало. Спасибо всем!

   
 
 автор: header   (20.06.2007 в 10:19)   письмо автору
 
   для: victoor   (20.06.2007 в 10:17)
 

Первое - не помогло.
Второе - похоже, так и надо делать. Спасибо!

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

чтобы уйти на желаемую страницу (браузером - страницы есть только у него. И ходить может только он. Никто другой по страницам не ходит. На сервере - документы, и по ним не ходят - их отдают по запросам) , нужно заставить браузер исполнить повторное обращение к серверу за другой страницей.
А генерацию текущей страницы - прекратить, даже не начиная. Нет смысла - всё равно браузер уйдет на другую.


  header("Location: http://...."); 
  die(); 
}

   
 
 автор: victoor   (20.06.2007 в 10:17)   письмо автору
 
   для: header   (20.06.2007 в 10:10)
 

а если попробывать после каждого header делать вывод? в том же блоке вывода...
Незнаю, сработает ли, но попробывать можно...
Еще можно сделать все проверки, но в случае совпадения условий писать не header(...) а просто путь сохранять в переменной, а при проверке указывать и требование пустоты этой переменной. И уже после всех проверок смотреть, есть ли что-то в этой переменной, и если да - делать переход...

   
 
 автор: header   (20.06.2007 в 10:10)   письмо автору
 
   для: Trianon   (20.06.2007 в 10:03)
 

Спасибо за разъяснение по header. И тогда логический вопрос - а как безусловно уйти на желаемую страницу в данной программной точке?

   
 
 автор: Trianon   (20.06.2007 в 10:03)   письмо автору
 
   для: header   (20.06.2007 в 09:51)
 

Функция header() не выполняет переход.
И не останавливает исполнение php-кода.
Она даже не отправляет заголовки!

Она лишь добавляет(или при повторном вызове - заменяет ) поле заголовка отклика в списке полей, готовых к отправке.
Сама отправка выполняется при первом исполнении инструкций вывода, либо при завершении исполнения скрипта (если вывода не было вообще).

   
 
 автор: header   (20.06.2007 в 09:51)   письмо автору
 
 

Почему-то порядок просмотра операторов меняется на обратный.
Проблема: данный оператор перехода в одиночку работает нормально:

if (empty($sect))
header ("Location: " . MESSAGE_PAGE . "?mn=100");
По пустой $sect уходит по указанной странице.
Добавляю еще одну проверку:

if (empty($sect))
header ("Location: " . MESSAGE_PAGE . "?mn=100");
if (strlen($repName) <= 1)
header ("Location: " . MESSAGE_PAGE . "?mn=101");

$sect остается пустой, но происходит уход по второй проверке (с mn=101). Если еще наставлять проверок остальных переменных, то уход будет по последней проверке. Как такое может быть?

   

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

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

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