imho.ws |
![]() |
![]() |
![]() |
# 1 |
Junior Member
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52
![]() |
Аномалии после редиректа
Никак не могу разобраться, в чём причина...
Делаю редирект через header('Locate: ./?a=1') Адрес в строке меняется на нужный, а страница не показывается. Висит белый лист... Когда нажмёшь "обновить", то показывается нужная страница. Проверял в разных браузерах - результат один и тот же, но с некоторыми нюансами: Опера исходный код "белого листа" не показывает. Говорит, что загружено 0 байт. ИЕ показывает вот что: Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=windows-1251"></HEAD> <BODY></BODY></HTML> Вот такая петрушка! ![]() Пытался смоделировать ситуацию, чтобы выложить сюда весь код - не получилось. Всё работает нормально. Дать ссылку тоже не могу, потому что всё это в закрытой сети. Буду рад, если подскажете направление, где копать, чтобы разобраться в этом. |
![]() |
![]() |
# 2 | |
::VIP::
Регистрация: 14.08.2003
Адрес: kuban.imho.ws
Сообщения: 2 571
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
__________________
![]() |
|
![]() |
![]() |
# 3 | |
Junior Member
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52
![]() |
Цитата:
Код... Сами строки вызова нормальные. (Я ж говорю, что адрес, на который делается редирект оказывается в строке адреса браузера). А весь код поставить - там под 300 строк. Для того, чтобы смоделировать, нужно знать, в каком месте баг. Думал, что проблема в том, что скрипт вызывает сам себя. Написал такой файл: Код:
<?php if ($id=='test'){ echo 'Выполнено'; } if ($id=='go'){ header ('Location: ./?id=test'); exit; } echo '<a href="./?id=go">Поехали...</a>' ?> ![]() Если нести сюда код, то какие строки кода нести? (Все невозможно) |
|
![]() |
![]() |
# 5 |
Junior Member
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52
![]() |
Ну, не знаю, что из этого можно увидеть...
Код:
switch ($_GET['action']){ case 'save': /*** Не позволим посторонним посылать данные, если это не ввод нового пользователя ***/ if (($user!=0) && ($user!=$_SESSION['valid_user']) && !$_SESSION['admin']){ Alert('Эта страница доступна только зарегистрированным пользователям.'); ShowInfo($user); break; } if (!GetData($user)){ //Проверка данных ShowForm($user); break; } SaveData($user, $user_info); //Сохранение данных header('Location: /?reaction='.($user==0 ? '1' : '2')); exit; case 'autoresend': if ($_SESSION['noactive']=='naNoAuth'){ DoAutoRequest($_SESSION['valid_user']); header('Location: /?reaction=7'); exit; }else{ header('Location: /?reaction=8'); exit; } default: if (($user==0) || ($user==$_SESSION['valid_user']) || $_SESSION['admin']){ ShowForm($user); }else{ ShowInfo($user); } } |
![]() |
![]() |
# 6 | |
Full Member
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
|
|
![]() |
![]() |
# 7 | |
Junior Member
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52
![]() |
Цитата:
Хотелось бы посмотреть, какие заголовки передаются браузеру в одном и в другом случае. Но функция headers_list работает только с php5, а у меня 4. Есть ли другой способ посмотреть переданные заголовки? |
|
![]() |