Sixtens hemsida Uppgifter Blogg Om

Bankapplikation

Gå till sida

Källkod

bank/

logout.php

transfer.php

index.php

login.php

manage.php

signup.php

change_password.php

modules/

user.php

page.php

session.php

utility.php

users/

hjk.json

sixten2.json

sixten.json

wesweb01/bank/modules/session.php

1 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();
    }
}
?>