Login multisuer med session
HejJeg har brug for lidt hjælp til et multi bruger login i php.
Min intention er at kunne have et login script med flere brugere og differentieret redirect. Har stykket nedenstående sammen og virker efter hensigten. Men jeg mangler en dimmension som skal definere en rolle, og dermed sikre at man ikke kan få adgang til andre sider end den side der rediredtes til.
Er det muligt? Altså uden at koble en mysql database på?
Nedenstående php har jeg på min login side:
<?php session_start(); /* Starts the session */
/* Check Login form submitted */
if(isset($_POST['Submit'])){
/* Define username and associated password array */
$logins = array('user1' => 'Cykel7','user2' => 'Sommer21','user3' => 'Fredag24');
$logins2 = array('user4' => 'Mandag22', 'user5' => 'Tirsdag22');
$logins3 = array('user6' => 'Monday22');
$logins4 = array('user7' => 'Friday44');
$logins5 = array('user8' => 'Summer55');
/* Check and assign submitted Username and Password to new variable */
$Username = isset($_POST['username']) ? $_POST['username'] : '';
$Password = isset($_POST['password']) ? $_POST['password'] : '';
/* Check Username and Password existence in defined array */
if (isset($logins[$Username]) && $logins[$Username] == $Password){
/* Success: Set session variables and redirect to Protected page */
$_SESSION['UserData']['Username']=$logins[$Username];
header("location:index.php");
exit;
} else if (isset($logins2[$Username]) && $logins2[$Username] == $Password) {
/* Success: Set session variables and redirect to Protected page */
$_SESSION['UserData']['Username']=$logins2[$Username];
header("location:/Site1/index.php");
exit;
} else if (isset($logins3[$Username]) && $logins3[$Username] == $Password) {
/* Success: Set session variables and redirect to Protected page */
$_SESSION['UserData']['Username']=$logins3[$Username];
header("location:/Site2/index.php");
exit;
} else if (isset($logins4[$Username]) && $logins4[$Username] == $Password) {
/* Success: Set session variables and redirect to Protected page */
$_SESSION['UserData']['Username']=$logins4[$Username];
header("location:/Site3/index.php");
exit;
} else if (isset($logins5[$Username]) && $logins5[$Username] == $Password) {
/* Success: Set session variables and redirect to Protected page */
$_SESSION['UserData']['Username']=$logins5[$Username];
header("location:/Site4/index.php");
exit;
} else {
/*Unsuccessful attempt: Set error message */
$msg="<div class='alert alert-danger' role='alert'>Invalid Login Details</div>"; } } ?>
På hver side tjekker jeg for at userdata og username er udfyldt med:
<?php session_start(); /* Starts the session */ if(!isset($_SESSION['UserData']['Username'])){
header("location:login.php");
exit;
}
?>
Håber der er en venlig sjæl som vil hjælpe mig med at få verificeret om jeg kan løse det med en ekstra dimmension, uden at koble det op mod en mysql database.