Improved where user is sent after login

master
Eirik Th S 2021-05-15 00:47:23 +02:00
parent 09f77d82ea
commit 5647b2de9b
2 changed files with 13 additions and 7 deletions

View File

@ -2,15 +2,21 @@
require 'webdata/init.php';
$returnToPage = "./";
if(isset($_POST['referrerPage'])){
if(isset($_GET['return'])){
$returnToPage = $_GET['return'];
}
elseif(isset($_POST['referrerPage'])){
$returnToPage = $_POST['referrerPage'];
}
else if(isset($_SERVER['HTTP_REFERER'])){
$returnToPage = $_SERVER['HTTP_REFERER'];
elseif(isset($_SERVER['HTTP_REFERER'])){
$returnToPage = explode($_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER'])[1];
}
if(stristr($returnToPage, "login.php") || stristr($returnToPage, "register.php")){
$returnToPage = "./";
} else {
$returnToPage = str_ireplace('index.php', '', $returnToPage);
}
if( checkLogin() ){
@ -40,8 +46,6 @@ if(isset($_POST) && !empty($_POST)){
}
}
//echo PwdGen("Passord123", true);
?><!DOCTYPE html>
<html lang="en">

View File

@ -172,8 +172,9 @@ function requireLogin(): bool{
return true;
}
$_SERVER['HTTP_REFERER'] = $_SERVER['PHP_SELF'];
header("Location: ".$config["general"]["projectRoot"]."/login.php");
$_SESSION['loginRef'] = $_SERVER['PHP_SELF'];
header("Location: ".$config["general"]["projectRoot"]."/login.php?return=".str_ireplace('index.php', '', $_SERVER['PHP_SELF']));
return false;
}
@ -182,6 +183,7 @@ function checkLoginSimple(): bool {
if(!isset($_SESSION)){
session_start();
$_SERVER['HTTP_REFERER'] = "";
}
if(isset($_SESSION['user_id'])){