imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 24.10.2006, 19:22     # 1
Self Author
Junior Member
 
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52

Self Author Путь к славе только начался
Аномалии после редиректа

Никак не могу разобраться, в чём причина...
Делаю редирект через 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>
А вот Мозила - в коде показывает именно то, что должно быть!!! Но в окне отображает лишь после обновления.

Вот такая петрушка!
Пытался смоделировать ситуацию, чтобы выложить сюда весь код - не получилось. Всё работает нормально. Дать ссылку тоже не могу, потому что всё это в закрытой сети.

Буду рад, если подскажете направление, где копать, чтобы разобраться в этом.
Self Author вне форума  
Старый 24.10.2006, 20:54     # 2
voron
::VIP::
 
Аватар для voron
 
Регистрация: 14.08.2003
Адрес: kuban.imho.ws
Сообщения: 2 571

voron Гипербогvoron Гипербогvoron Гипербогvoron Гипербог
voron Гипербогvoron Гипербогvoron Гипербогvoron Гипербогvoron Гипербогvoron Гипербогvoron Гипербогvoron Гипербог
Цитата:
Self Author:
Пытался смоделировать ситуацию, чтобы выложить сюда весь код - не получилось.
Как так не получилось? Вставь сюда код исходной страницы с примером твоего редиректа, посмотрим...
__________________
voron вне форума  
Старый 24.10.2006, 21:09     # 3
Self Author
Junior Member
 
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52

Self Author Путь к славе только начался
Цитата:
voron:
Как так не получилось?
Не получилось, потому что всё работает (в моделе).
Код... Сами строки вызова нормальные. (Я ж говорю, что адрес, на который делается редирект оказывается в строке адреса браузера). А весь код поставить - там под 300 строк.
Для того, чтобы смоделировать, нужно знать, в каком месте баг. Думал, что проблема в том, что скрипт вызывает сам себя. Написал такой файл:
Код:
<?php
if ($id=='test'){
	echo 'Выполнено';
}
if ($id=='go'){
	header ('Location: ./?id=test');
	exit;
}
echo '<a href="./?id=go">Поехали...</a>'
?>
А он работает нормально...

Если нести сюда код, то какие строки кода нести? (Все невозможно)
Self Author вне форума  
Старый 24.10.2006, 21:15     # 4
voron
::VIP::
 
Аватар для voron
 
Регистрация: 14.08.2003
Адрес: kuban.imho.ws
Сообщения: 2 571

voron Гипербогvoron Гипербогvoron Гипербогvoron Гипербог
voron Гипербогvoron Гипербогvoron Гипербогvoron Гипербогvoron Гипербогvoron Гипербогvoron Гипербогvoron Гипербог
Неси строки где устанавливаешь редирект. Само собой притащи побольше кода именно этой части
__________________
voron вне форума  
Старый 24.10.2006, 21:22     # 5
Self Author
Junior Member
 
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52

Self Author Путь к славе только начался
Ну, не знаю, что из этого можно увидеть...
Код:
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);
  }
}
Self Author вне форума  
Старый 25.10.2006, 11:19     # 6
EvroStandart
Full Member
 
Аватар для EvroStandart
 
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623

EvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собой
Цитата:
Сообщение от Self Author
А весь код поставить - там под 300 строк.
Для того, чтобы смоделировать, нужно знать, в каком месте баг. Думал, что проблема в том, что скрипт вызывает сам себя. Написал такой файл:
Код:
<?php
if ($id=='test'){
	echo 'Выполнено';
}
if ($id=='go'){
	header ('Location: ./?id=test');
	exit;
}
echo '<a href="./?id=go">Поехали...</a>'
?>
А он работает нормально...
Попробуй в этот маленький файл понемногу копировать код из большого. И смотри при добавлении чего он начнёт глючить.
EvroStandart вне форума  
Старый 25.10.2006, 13:24     # 7
Self Author
Junior Member
 
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52

Self Author Путь к славе только начался
Цитата:
EvroStandart:
Попробуй в этот маленький файл понемногу копировать код из большого. И смотри при добавлении чего он начнёт глючить.
Есть у меня подозрение, что это не в коде дело.
Хотелось бы посмотреть, какие заголовки передаются браузеру в одном и в другом случае. Но функция headers_list работает только с php5, а у меня 4. Есть ли другой способ посмотреть переданные заголовки?
Self Author вне форума  
Старый 25.10.2006, 15:07     # 8
Self Author
Junior Member
 
Регистрация: 07.02.2006
Адрес: Ростов-на-Дону
Сообщения: 52

Self Author Путь к славе только начался
Нашёл ошибку!
Сам виноват...
Посмотрел заголовки у этой пустой страницы и увидел, что это работает моя же собственная фича, (криво работает).
Простите за беспокойство.
Self Author вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 18:05.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.