Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Изменить адрес в браузере


Автор: artsb 23.10.2008, 22:16
Всем привет!

Нужно, изменить адрес, который будет отображаться в окне браузера, если это возможно.
Т.е. адрес по которому пользователь переходит реально: www.mysite.ru/test?id=1&g=5
адрес, который должен быть после открытия страницы: www.mysite.ru/test?id=1

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

ЗЫ. надеюсь Вы всё поняли smile

Автор: Andres 23.10.2008, 22:19
Код

window.location.replace
Или я че-то не понял...

Автор: awers 23.10.2008, 22:31
.htaccess - mod_rewrite

or

header("Location ...");

Автор: skyboy 23.10.2008, 22:43
Цитата(artsb @  23.10.2008,  21:16 Найти цитируемый пост)
Т.е. адрес по которому пользователь переходит реально: www.mysite.ru/test?id=1&g=5
адрес, который должен быть после открытия страницы: www.mysite.ru/test?id=1

в самом начале обработки адреса www.mysite.ru/test?id=1&g=5 создаем сессию, записываем значени g=5, делаем redirect, забиваем скрипт при помощи немудренного die(); - клиент может даже не заметит редиректа(разве что, если хранит историю заголовков) - естественно, дважды данные передаваться два раза не будут.
при обработке адреса www.mysite.ru/test?id=1 проверяем наличие переменной в сессии. и реагируем соответственно.

Автор: slackware 23.10.2008, 22:49
а /me любит mod_rewrite =)
для адреса-кривления

и будет красоваться всегда в окне адреса
http://mysite.com/mod_rewrite



Автор: artsb 23.10.2008, 23:22
Всем спасибо. В общем, редирект всё равно приходится делать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)