Intereting Posts
Как обосновать текст в fpdf FILTER_SANITIZE vs FILTER VALIDATE, какая разница – и какую использовать? Объединение нескольких ассоциативных массивов в один массив ассоциативных массивов Добавить видео в список воспроизведения «Смотреть позже» на YouTube Почему я получаю ошибку: неопределенная переменная? Laravel 5.2 Пробный тест загрузки загруженного файла jquery-php magic: как открыть почтовую страницу изнутри петли на главной странице fancybox Когда файлы ini в файле /etc/php.d/ загружаются? Результаты запроса mysqli для отображения всех строк Как изменить размер изображения высокого разрешения с помощью PHP Ошибка TCPDF: невозможно получить размер изображения Можно ли динамически расширять класс? Функция PHP для подключения mysqli дает ошибку Ошибка PHP Simplexml на локальном хосте Как создать токен состояния подделки анти-запроса. В регистрации google + на стороне сервера

Как перенаправить правильный URL после входа в систему

У меня есть веб-сайт, на котором есть веб-страница, содержащая список журналов. Теперь я обычно даю ссылку для доступа к этой странице для некоторого пользователя, например: http://172.20.22.77/someapp/results.htm?id=45

Теперь, когда некоторые пользователи нажимают на это. Это даст ему экран входа. Но после входа в систему он не переходит на страницу, которая была задумана. Я использую сеансы для реализации веб-сайта, и у него много страниц, поэтому сеанс используется для отслеживания просмотра пользователем страницы.

любезно сообщите мне, как я могу перенаправить URL-адрес, запрашиваемый после входа пользователя в систему.

Поместите URL-адрес пользователя в сеанс перед перенаправлением на страницу входа. Затем страница входа в систему может перенаправляться обратно на этот сохраненный URL после аутентификации пользователя.

На странице, требующей входа в систему:

session_start(); $_SESSION['after_login'] = $_SERVER['REQUEST_URI']; header("Location: login.php"); 

На странице входа:

 session_start(); if (user has entered correct username and password) { header("Location: http://example.com" . $_SESSION['after_login']); } 

Вы можете сохранить URI в сеансе, и до входа в систему просто выполните перенаправление:

 $_SESSION['URI'] = $_SERVER['REQUEST_URI']; // ... header('Location: http://mysite.com ' . $_SESSION['URI']; 

Используйте это на защищенной странице, чтобы сохранить текущую страницу url и строку запроса в сеансе.

 <? function curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; } else { $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; } return $pageURL; } session_start(); $_SESSION['url_attempt'] = curPageURL(); 

Используйте это после успешного входа для перенаправления пользователя на страницу, хранящуюся в сеансе.

 <?php session_start(); header('Location: '.$_SESSION['url_attempt']); ?> 
 <?php header('Location: http://www.example.com/'); ?> 

http://php.net/manual/en/function.header.php