Forum Webscript.Ru

Программирование => PHP => Тема начата: alex007 от 02 Июня 2003, 01:11:38

Название: Шаг Назад
Отправлено: alex007 от 02 Июня 2003, 01:11:38
Привет,

Как на PHP сделать шаг назад, тоесть на жаве я знаю как:
Back

А как сделать на PHP:

header (Location: ?????);
?>
 

С Уважением,
Алекс.
Название: Шаг Назад
Отправлено: Меняздесьдавнонет от 02 Июня 2003, 01:58:52
гарантированно этого сделать невозможно, поэтому хотеть этого не надо.
Название: Шаг Назад
Отправлено: Mog. от 02 Июня 2003, 08:06:03
Из переменных окружения, что то типа HTTP_REFERER . Только не надо Location. Просто ссылка на эту переменную.
RomikChef, а почему нет гарантий?
Название: Шаг Назад
Отправлено: Меняздесьдавнонет от 02 Июня 2003, 08:41:01
Mog.  а почему есть?
Название: Шаг Назад
Отправлено: Mog. от 02 Июня 2003, 09:49:28
RomikChef Мне не понятно, потому и спрашиваю (про гарантии)
Название: Шаг Назад
Отправлено: AliMamed от 02 Июня 2003, 10:24:21
просто "Шаг назад" это задача для браузера.
"Шаг к предыдущему этапу программы" это задача для программы, но уже совершенно другая.
Можно извращаться и придумывать для серверного скрипта варианты решения "Шага назад", но это задача не для него.
Наиболее правильное решение будет:

echo "Back";
Название: Шаг Назад
Отправлено: alex007 от 02 Июня 2003, 10:42:44
А как насчет это кусочка кода тогда:

header (Location: $HTTP_REFERER);
?>

- что он не будет работать, откуда человек пришол, туда он и попадёт??
Название: Шаг Назад
Отправлено: Меняздесьдавнонет от 02 Июня 2003, 11:40:48
повторяю.
нет никакой гарантии, что в переменной $HTTP_REFERER будет что-то.
Название: Шаг Назад
Отправлено: Neter от 02 Июня 2003, 12:10:36
Думаю что сделать это в принцепе реально.

По ходу заполнения форм и перехода от этапа к этапу заносить данные форм в сессионную переменную. В принцепе реферрер здесь не нужен, допустим для http://some.ru/anketa.php?step=3  просто делаем header("Location: /anketa.php?step=2");
Название: Шаг Назад
Отправлено: alex007 от 03 Июня 2003, 13:05:23
RomikChef
Могу сказать что 100% работает следующий код:

header("Location: $HTTP_REFERER");
?>
Название: Шаг Назад
Отправлено: FreeSpace от 03 Июня 2003, 13:17:30
alex007
RomikChef имеет в виду, что HTTP_REFERER отправляет браузер.
Точнее, по идее, должен оправлять, но некоторые браузеры не отправляют или пользователи специально отключают его отправление (в целях анонимности/безопасности).
Название: Шаг Назад
Отправлено: я... от 03 Июня 2003, 13:20:57
alex007, не все браузеры отправлят реферера - это факт...
FreeSpace, скорее безопасности =)