Как в php вернуться на предыдущую страницу
Покинул форум
Сообщений всего: 23
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Возврат на предыдущую страницу, если переход был совершен с другой внутренней страницы, то echo «вернуться назад», если на страницу перешли с другого ресурса, то выдавать пустое значение.
Отправлено: 12 Августа, 2010 — 17:44:46
Покинул форум
Сообщений всего: 260
Дата рег-ции: Май 2010
Помог: 0 раз(а)
$_SERVER[‘HTTP_REFERER’] — проверяйте значение
——
Хостинг — неограниченно доменов на одну папку
Ajax — отличное введение
Отправлено: 13 Августа, 2010 — 09:06:06
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010
Откуда: Киров
Помог: 6 раз(а)
alexspb пишет:
$_SERVER[‘HTTP_REFERER’] — проверяйте значение
Вот на днях столкнулся с проблемой. У заказчика браузер не отдавал заголовок реферер. Да и в интернетах пишут, что лучше не надеяться на этот заголовок. Так что я бы выбрал другой путь. Например сессии.
PHP. Вернуться на прошлую страницу
Данный материал предоставлен сайтом PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Как вернуться на прошлую страницу используя PHP?
Эти вопросы задавали многие начинающие программисты.
В данной статье приведен пример того, как это можно сделать.
Представим ситуацию, когда вам потребовалось сделать кнопку или ссылку на сайте, по нажатию на которую пользователя должно было переадресовывать на страницу на которой он был до этого.
Для этого понадобится суперглобальный массив $_SERVER с запрошенным HTTP_REFERER:
$_SERVER['HTTP_REFERER']
Суперглобальный массив с ключом «HTTP_REFERER» хранит адрес страницы, с которой посетитель попал на текущую страницу.
$back = $_SERVER['HTTP_REFERER']; // Получаем URL от куда пришел посетитель // Создаем страницу в файле back.php с ссылкой перехода на предыдущую страницу echo " '>Назад ";
Для того, чтобы протестировать работу данного кода, создайте файл index.html на своем веб-сервере.
Файл index.html должен содержать следующий код:
Вперед ";
Данный пример кода создаст пустую страницу с ссылкой, которая перенаправит вас на страницу с перенаправлением.
Теперь находясь на странице index.html и нажав на ссылку ‘Вперед‘ вы будете перемещены на страницу содержащую единственную ссылку ‘Назад‘ (Эта страница и есть наша страница с перенаправлением).
Теперь нажимая на ссылки можно переходить от странице к странице.
Возврат посетителя на предыдущую страницу на PHP
Допустим пользователь ввёл какие-то данные в форму на одной странице, переслал их на другую. Как его сразу после обработки данных вернуть назад средствами PHP?
Код PHP
// так получаем URL, с которого пришёл посетитель
$back = $_SERVER['HTTP_REFERER']; // для справки, не обязательно создавать переменную
// Теперь создаём страницу, пересылающую
// в meta теге на предыдущую
echo "
";
?>
Теперь наш посетитель вернулся назад. Поздравляю!
| Внимание! При таком возврате назад данные заполненных форм во многих браузерах не сохраняются. Поэтому для сохранения лучше использовать средства JS в статье — Как сделать кнопку назад или как вернуться на предыдущую страницу? HTML и JS. |
Возврат на страницу назад
При нажатии на кнопку внизу страницы выводится «Hello».
Если перейти на любую другую страницу сайта, а потом вернуться назад (кнопкой «Назад» в браузере), то выдаётся такое сообщение:
«Подтвердить повторную отправку формы
Для правильного отображения эта веб-страница требует данные, которые вы ввели ранее. Вы можете отправить данные повторно, но поступая так, вы повторяете любые действия, уже произведенные на странице. Нажмите «Перезагрузить», чтобы отправить данные повторно и отобразить страницу.»
То есть, чтобы оказаться опять на первоначальной странице, приходится её перезагружать. Как-то можно этого избежать, чтобы сразу назад переход был? Как это можно реализовать для данного примера?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Возврат на шаг назад с обновлением!
Доброго времени суток ув.программисты! такой вопрос: как осуществить возврат на предыдущую.

Как сделать РЕДИРЕКТ на страницу назад?
Я могу передать ссылку предыдущей страницы через гед запрос, но это будет как вновь открытая.

Возврат на пред. страницу
Всем доброе время суток. Суть проблемы. после авторизации пользователя он попадает на страницу.
Автоматический возврат на главную страницу
всем привет. как сделать чтобы после успешной отправки сообщение обратно вернулось на главную.
Регистрация: 02.12.2011
Сообщений: 21
Это свойство браузера и изменить ни как. Только если создашь ссылку которая введет назад. Обычно никто не нажимает назад в браузере. Программист должен предусмотреть такую кнопку которая можно будет вернутся назад, если есть такая необходимость. Думаю я понятно объяснил.
50 / 37 / 13
Регистрация: 20.01.2019
Сообщений: 115
Вместо того, чтобы плодить темы, нужно просто правильно сформировать вопрос. Что ты хочешь в итоге?
При POST запросах echo не делают. Используй GET в форме либо редирект. Если нужно что-то вывести по результату POST, то используй сессии и так называемые флеш-сообщения. Примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
if (session_status() == PHP_SESSION_NONE) { session_start(); // теперь можно в массив $_SESSION писать что угодно // в пределах разумного и безопасности, конечно же } if($_SERVER['REQUEST_METHOD'] == 'POST') { // обрабатываем полученные данные $_SESSION['message'] = 'Hello!'; header('Location: ' . $_SERVER['REQUEST_URI']); exit; } if(isset($_SESSION['message'])) { $message = $_SESSION['message']; unset($_SESSION['message']); echo $message; } echo ' ';
в Location можно устанавливать любой url. если нам нужен этот же url без потери параметров, то используем REQUEST_URI, если параметры не важны, то PHP_SELF, можно просто прописать ‘Location: /’ для перехода на главную и т.д.
