Редирект на изначально запрашиваемую страницу после авторизации на базе PHP

Redirect делается обычно на основе запрашиваемого URL из переменной $_SERVER[‘REQUEST_URI’], далее назовем это query URL.

Первоначально редиректим на страницу авторизации с указанием запрашиваемого url из query URL в переменной location.

header("Location:login.php?location=" . $_SERVER['REQUEST_URI'] );

Уже на странице авторизации после успешной авторизации делаем тоже самое – забираем query URL. Далее выщепляем из него только нужное через регулярные выражения или explode на основе строки “location=” и редиректим. В случае если в запросе нет строки “location=” – редиректим на index.php.

$req_url = ($_SERVER['REQUEST_URI']);
$splitted_array = explode('location=', $req_url);
if(!empty($splitted_array[1]))
{
  $url= $splitted_array[1];
  header("Location:$url");
}
else
{
  header("Location:index.php");
}

Leave a Reply