bank/
wesweb01/bank/modules/session.php1 lines
<?php
# Funktion som hanterar sessioner och relaterade funktioner.
require "user.php";
class Session
{
public static $pageIfLoggedIn = "index.php"; # Sida man skickas till ifall man är inloggad.
public static $pageIfNotLoggedIn = "login.php"; # Sida man skickas till ifall man är ej är inloggad.
public static function Init(): void
# Initialiserar sessionen. Även om det är en såpass enkel funktion skapade
# jag den för att hålla sessionsfunktioner till denna klassen.
{
session_start();
}
public static function RedirectIfLoggedIn(): void
# Skickar en till angedda sidan ifall man är inloggad.
{
if (isset($_SESSION["username"])) {
$destination = self::$pageIfLoggedIn;
header("location: {$destination}");
exit();
}
}
public static function RedirectIfNotLoggedIn(): void
# Skickar en till angedda sidan ifall man är ej är inloggad.
{
if (!isset($_SESSION["username"])) {
$destination = self::$pageIfNotLoggedIn;
header("location: {$destination}");
exit();
}
}
public static function SetUser($username): void
# Sätter användaren i sessionen till username-parametern.
{
$_SESSION["username"] = $username;
}
public static function GetUser(): ?User
# Hämtar användarobjekt för den inloggade användare.
{
return User::LoadUser($_SESSION["username"]);
}
public static function DestroySession(): void
# Förstör sessionen. Leder till att man loggas ut.
{
session_unset();
session_destroy();
}
}
?>