Переадресация в PHP

Статус
Закрыто для дальнейших ответов.

Nordway

Active Member
Регистрация
06.08.2007
Сообщения
41
Вот код одного из файлов авторизации
Код:
<?
session_start();
if(isset($_SESSION['logged_user']))
{
$logged_user=$_SESSION['logged_user'];
header("Location: index.php");
}
if(!isset($logged_user))
{
header("Location: login.php");
}
?>
этот файл в index.php вызывается через
Код:
include('auth.php');
так вот... дело в том что когда я авторизируюсь, срабатывает первая часть условия в auth.php и я по header("Location: index.php"); отправляюсь на индекс, в индексе встречаю инклуд (проверку на логин), проверяюсь и опять отправляюсь на индекс через header("Location: index.php"); и полчается цикл бесконечный и страница грузится оч долго (но грузится:D). Впринципе понимаю что из-за header вся фигня. Если её убираю то всё норм, НО остаюсь на auth.php а хотелось бы чтоб переадрисовывал на index.php ))

Подскажите чем можно заменить header("Location: index.php"); чтобы переадресовывал на главную :)

да и ещё. Возможна такая ситуация что кроме index.php будут другие файлы, и когда там будет инклуд на auth.php стоять, то после всего буду попадать опять на главную и придётся снова переходить на нужный файл. Видел где-то примеры, но не могу найти их теперь, смысл там вроде такой мол откуда пришёл туда и отправишься, запомнилось толко почему то вот этот кусок:
Код:
header("Location: $url");
было б неплохо если б ещё и с этим вопросом просветили:)

Спасибо!)
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Попробуй так
Код:
if($HTTP_SESSION_VARS['logged_user'])
{
session_name("sess_log");
session_start();
session_register("logged_user'");
$logged_user = $HTTP_SESSION_VARS['logged_user''];
header("Location: index.php");
}else{
header("Location: login.php");
}
Как-то так! А на второй вопрос отвечу чуть попозже
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Есть такая переменная в глобальном массиве $_SERVER как HTTP_REFERER, которая храеит адрес предыдущей страницы, с которой пришёл пользователь!
Можно сделать форму с заполнением данных, которая отсылает тебя на проверку данных и аутентификацию, там же мы иожем использовть переменную $_SERVER['HTTP_REFERER']

Передав $_SERVER['HTTP_REFERER'] в переадрессацию мы окажемся на предыдущей странице
 

Nordway

Active Member
Регистрация
06.08.2007
Сообщения
41
Попробуй так
Код:
if($HTTP_SESSION_VARS['logged_user'])
{
session_name("sess_log");
session_start();
session_register("logged_user'");
$logged_user = $HTTP_SESSION_VARS['logged_user''];
header("Location: index.php");
}else{
header("Location: login.php");
}
Как-то так! А на второй вопрос отвечу чуть попозже
к сожалению не помогло...
так я вообщу остаюсь всё время на странице входа.
когда session_start(); перекидываю в начало (до if) то всё проходит но опять гружусь бесконечно))
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Я в сессиях сам чайник :unsure:
Что ещё могу предложить
Код:
session_name("sess_log");
session_start();
if($HTTP_SESSION_VARS['logged_user'])
{
session_register("logged_user'");
$logged_user = $HTTP_SESSION_VARS['logged_user''];
header("Location: index.php");
}else{
header("Location: login.php");
}
 

shtumi

Новичок
Регистрация
19.09.2007
Сообщения
1
Вот код одного из файлов авторизации
Код:
<?
session_start();
if(isset($_SESSION['logged_user']))
{
$logged_user=$_SESSION['logged_user'];
header("Location: index.php");
}
if(!isset($logged_user))
{
header("Location: login.php");
}
?>
этот файл в index.php вызывается через
Код:
include('auth.php');
так вот... дело в том что когда я авторизируюсь, срабатывает первая часть условия в auth.php и я по header("Location: index.php"); отправляюсь на индекс, в индексе встречаю инклуд (проверку на логин), проверяюсь и опять отправляюсь на индекс через header("Location: index.php"); и полчается цикл бесконечный и страница грузится оч долго (но грузится:D). Впринципе понимаю что из-за header вся фигня. Если её убираю то всё норм, НО остаюсь на auth.php а хотелось бы чтоб переадрисовывал на index.php ))

Подскажите чем можно заменить header("Location: index.php"); чтобы переадресовывал на главную :)

да и ещё. Возможна такая ситуация что кроме index.php будут другие файлы, и когда там будет инклуд на auth.php стоять, то после всего буду попадать опять на главную и придётся снова переходить на нужный файл. Видел где-то примеры, но не могу найти их теперь, смысл там вроде такой мол откуда пришёл туда и отправишься, запомнилось толко почему то вот этот кусок:
Код:
header("Location: $url");
было б неплохо если б ещё и с этим вопросом просветили:)

Спасибо!)
А зачем спрашивается здесь вообще нужна переадресация???
Если вы находитесь в index.php, затем проинклудили аутх и все проверки прошли удачно, ну дайте ему спокойно завершится и мать его так :). Дальше все равно пойдет выполнение сценария из index.php. Зачем себе морочить голову??? Кроме того, любой header передает информацию браузеру и хотя страница не грузится, а время то лишнее то идет...
 

Nordway

Active Member
Регистрация
06.08.2007
Сообщения
41
=)) ну вообще да.
Поэксперементировал с header-ами, норм терь всё) всем спасибо)
 
Статус
Закрыто для дальнейших ответов.
Верх Низ