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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Проблема с редиректом
 
 автор: Nest   (03.10.2007 в 20:28)   письмо автору
 
 

Здравствуйте, уважаемые!
Проблема у меня с редиректом:
if($_SESSION['log']!=1){
echo '<html><head><meta http-equiv="Refresh" content="0; URL='.$_SERVER['HTTP_REFERER'].'"></head></html>';
}
браузер начинает перезагружаться и зацикливается. Когда пишу просто ссылку, например, index.php редирект срабатывает. В чем может быть проблема?

   
 
 автор: Director_Of_Zoo   (03.10.2007 в 20:51)   письмо автору
 
   для: Nest   (03.10.2007 в 20:28)
 

я так понимаю у Вас одно и тоже выводится а именно редерикт, значит $_SESSION['log']!=1
Что же делать? Не видя кода предлагаю так:

<?php
if($_SESSION['log']!=1){
echo 
'<html><head><meta http-equiv="Refresh" content="0; URL='.$_SERVER['HTTP_REFERER'].'"></head></html>';
$_SESSION['log']=1;
}
?>

   
 
 автор: Nest   (03.10.2007 в 20:58)   письмо автору
 
   для: Director_Of_Zoo   (03.10.2007 в 20:51)
 

если не срабатывает приведенный ранее if, то просто вывод текста
Сессию нельзя приравнивать к единице.....

В общем, это для аутентификаци.... если пользователь заходит на защищенную страницу, то его редиректить туда, откуда он пришел.

   
 
 автор: naxa   (03.10.2007 в 22:43)   письмо автору
 
   для: Nest   (03.10.2007 в 20:58)
 

а чему равен $_SERVER['HTTP_REFERER'] смотрел?
скорее всего, той же самой странице, где стоит редирект.

   
 
 автор: Nest   (03.10.2007 в 22:44)   письмо автору
 
   для: naxa   (03.10.2007 в 22:43)
 

да. и как мне быть?

   
 
 автор: naxa   (03.10.2007 в 23:03)   письмо автору
 
   для: Nest   (03.10.2007 в 22:44)
 

можно сделать что-то вроде этого:
if (!$_SERVER['HTTP_REFERER']) {
$redirect = 'http://softtime.ru/';
} else {
$redirect = $_SERVER['HTTP_REFERER'];
}
if($_SESSION['log']!=1){
echo '<html><head><meta http-equiv="Refresh" content="0; URL='.$redirect .'"></head></html>';
}

т.к. $_SERVER['HTTP_REFERER'] - будет заполнен только, если юзер перешёл по ссылке.
а в вашем случае - юзер или сам вводит адрес или перекидывается редиректом

   
 
 автор: Nest   (03.10.2007 в 23:49)   письмо автору
 
   для: naxa   (03.10.2007 в 23:03)
 

Спасибо...

   
Rambler's Top100
вверх

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