Beskyt sider fra brugere der ikke er logget ind
Hej nørder! :)Jeg er igang med at lave et login, med tre forskellige slags brugere,
og skal derfor beskytte mine sider både for dem som ikke har et login og få dem som ikke har et login til den korrekte profil.
Men en ting af gangen... Jeg prøver til start bare med at beskytte min login siden, får folk som ikke har en bruger..
Jeg kan bare ikke få det til at lykkes!!
Selvom jeg er logget ind eller ikke er, så bliver jeg hele tiden nægtet adgang og videresendt til protected.php..
Det burde ikke være så svært..
HJÆLP MIG!!
Mine Koder:
general.php
function logged_in_redirect() {
if (logged_in() === true) {
header('Location: admin.php');
exit();
}
}
function protect_page() {
if (logged_in() === false) {
header('Location: protected.php');
exit();
}
}
----------------------------
users.php
function logged_in() {
return (isset($_SESSION['user_id'])) ? true : false;
}
------------------------------
protected.php
<?php
include 'core/init.php';
include 'inc/overall/header.php';
?>
<h1>Desværre, du skal være logget ind for at kunne gøre dette</h1>
<p>Opret dig som bruger eller log ind</p>
<?php include 'inc/overall/footer.php'; ?>
----------------------------------------------
init.php
<?php
session_start();
//error_reporting(0);
require 'db/connect.php';
require 'func/general.php';
require 'func/users.php';
$current_file = explode('/', $_SERVER['SCRIPT_NAME']);
$current_file = end($current_file);
if (logged_in() === true) {
$session_user_id = $_SESSION['user_id'];
$user_data = user_data($session_user_id, 'user_id', 'username', 'password', 'first_name', 'last_name', 'email', 'password_recover', 'profil_type', 'allow_email', 'profile');
if (user_active($user_data['username']) === false) {
session_destroy();
header('Location: admin.php');
exit();
}
if ($current_file !== 'changepassword.php' && $user_data['password_recover'] == 1) {
header('Location: changepassword.php?force');
exit();
}
}
$errors = array();
?>