Сайт личного кабинета. Если мне кидают ссылку на, что внутри лк и при переходе по ссылке я не залогинен, то меня перенаправляет на страницу со входом. Но после того как я залогинюсь меня кидает на главную страницу, а не по ссылке по которой я перешел. Как это решить?
P.S. Ссылку перехода я получаю из $_SERVER['REQUEST_URI']
Допустим ссылка перехода domen.ua/task/view/85
У меня есть класс TaskController, который наследуется от базового класса BaseController. BaseController:
class BaseController {
public function __construct() {
$_SESSION['adress'] = $_SERVER['REQUEST_URI']; // тут я и записываю в сессию ссылку, по которой перешли. Понимаю что в сессию записывать не правильно
User::checkAuth();
}
}
Функция checkAuth:
function checkAuth() {
include 'config/config.php';
//если не авторизован, переадресовываем на страницу авторизации
if(!User::isAuth()) {
header("Location: ".$s_prefix."/user/login");
} else {
Registry::set('user', $_SESSION);
return true;
}
}
Функция isAuth:
function isAuth() {
if(!isset($_SESSION['is_auth'])) return false;
if(!($_SESSION['is_auth'] === TRUE)) return false;
User::checkLive(); //проверяем, нужно ли убить сессию
return true;
}
Функция авторизации:
public function actionLogin() {
// проверки всякие...
// если всё хорошо
if ($update) {
header("Location: " . $_SESSION['adress']);
unset($_SESSION['adress']);
} else {
$msg_title = "Ошибка";
$msg_cont = "Error 111";
}
}