Forum Webscript.Ru
Программирование => PHP => Тема начата: alex007 от 02 Июня 2003, 01:11:38
-
Привет,
Как на PHP сделать шаг назад, тоесть на жаве я знаю как:
Back
А как сделать на PHP:
header (Location: ?????);
?>
С Уважением,
Алекс.
-
гарантированно этого сделать невозможно, поэтому хотеть этого не надо.
-
Из переменных окружения, что то типа HTTP_REFERER . Только не надо Location. Просто ссылка на эту переменную.
RomikChef, а почему нет гарантий?
-
Mog. а почему есть?
-
RomikChef Мне не понятно, потому и спрашиваю (про гарантии)
-
просто "Шаг назад" это задача для браузера.
"Шаг к предыдущему этапу программы" это задача для программы, но уже совершенно другая.
Можно извращаться и придумывать для серверного скрипта варианты решения "Шага назад", но это задача не для него.
Наиболее правильное решение будет:
echo "Back";
-
А как насчет это кусочка кода тогда:
header (Location: $HTTP_REFERER);
?>
- что он не будет работать, откуда человек пришол, туда он и попадёт??
-
повторяю.
нет никакой гарантии, что в переменной $HTTP_REFERER будет что-то.
-
Думаю что сделать это в принцепе реально.
По ходу заполнения форм и перехода от этапа к этапу заносить данные форм в сессионную переменную. В принцепе реферрер здесь не нужен, допустим для http://some.ru/anketa.php?step=3 просто делаем header("Location: /anketa.php?step=2");
-
RomikChef
Могу сказать что 100% работает следующий код:
header("Location: $HTTP_REFERER");
?>
-
alex007
RomikChef имеет в виду, что HTTP_REFERER отправляет браузер.
Точнее, по идее, должен оправлять, но некоторые браузеры не отправляют или пользователи специально отключают его отправление (в целях анонимности/безопасности).
-
alex007, не все браузеры отправлят реферера - это факт...
FreeSpace, скорее безопасности =)