о редиректе на другую страницу

LeshaK

Guest
о редиректе на другую страницу

Я новичек в ПХП. Раньше имел дело с сайбезовым движком PowerDynamo. Там была такая полезная ф-ий redirect("url"),
которая заставляла движек начинать интрпретировать указанный урл.
Я не могу ее найти аналога в ПХП. Я воспользовался поиском по форуму и увидел, что для решения такой проблемы рекомендут пользоваться header(Location...). Но мне кажется диким способ навигации по сайту с помощью клиентской части (броузера).
Для чего это мне надо:
Ну например пользователь вводит свой логин и пароль, которые постятся на проверяющий скрипт, который в зависимости от правильности ввода либо пускает(редиректит) на главную страницу сайта, либо выводит страницу с предупреждением.
 

Фанат

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

antiportal

Guest
Но мне кажется диким способ навигации по сайту с помощью клиентской части (броузера).
Эмм.. а как еще? Я только на ссылки в браузере тыркать и умею..

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

LeshaK

Guest
объясняю подробно

Хорошо, объясню подробно чего хочу. Вкратце PowerDynamo - это аналог ASP/PHP, только в качестве языка на серверной стороне выступает JavaScript с дополнительными классами.
У меня была форма с логином и паролем и кнопкой "войти".
Кнопка постила введенные данные на проверяющий скрипт.
В этом скрипте был такой кусок (упрощенно):
if(authenticate_user(login,password)==true)
{
document.redirect="/tobo/indicators/main-menu.stm";
} else
{
document.redirect="/tobo/security/forbidden.stm";
}
Ф-ия проверяла логин и пароль и в зависимости от результата проверки вызывается document.redirect, который заставлял инерпретирующий движек переходить на интерпретацию например /tobo/security/forbidden.stm. Т.е это как переход по ссылке, но внутри сервера, и это не аналог include. В результате всего клинтскому бройзеру передавалась уже нужная страница, с ее родным урлом.
 

Frol

Новичок
1. хороший язык PowerDynamo, сразу видно
2. почему include не то?
 

zumo

Guest
так судя по вышемаписаным постам надо срочно изучать PowerDynamo а вдруг отстану от технического прогресса :)
 

Фанат

oncle terrible
Команда форума
LeshaK
А ты не слышал о такой штуке, называется HTTP?
 

che

Guest
Re: объясняю подробно

Originally posted by LeshaK
Т.е это как переход по ссылке, но внутри сервера, и это не аналог include.
Похоже эта дрянь называется директивой сервера. Прекращаем пользоватся тем, чем не знаем как работает. На http тебя уже ткнули, я разнообразия ради ткну тебя на CGI.
В результате всего клинтскому бройзеру передавалась уже нужная страница, с ее родным урлом.
Упс, не заметил. CGI отменяется, Фанат прав.
 

Фанат

oncle terrible
Команда форума
che
если это директива сервера, то в браузере останется тот же самый адрес.
а он там новый.
а такое может быть ТОЛЬКО если браузер ЗАПРОСИЛ адрес.
БРАУЗЕР, а не сервер внутри у себя нахимичил.
 

LeshaK

Guest
Спасибы за ответы. Я признаю свое невежествое в области HTTP. Мне стыдно. Я почитал FAQ и почитал rfc2616. Заодно качнул плагин для просмотра HTTP хедеров. Как оказалось,
эффект "чудесного" перехода сервером на страницу с новым урлом с помощью директивы
document.redirect="URL"
достигался посылкой на броузер страницы с таким хедером

HTTP/1.0 302 Moved Temporarily
Location: /site/tobo.stm
Server: PowerDynamo Personal Web Server/1.0
MIME-Version: 1.0
Content-Type: text/html
Cache-Control: Private
Content-Length: 0

А броузер получая ее уже запрашивал нужную страничку.
Location: /site/tobo.stm

Засим еще раз посыпаю голову пеплом. Спасибо.
 
Сверху