Källkodsbrowser

login.php

35 lines UTF-8 Unix (LF)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
session_start
(); // Starta sessionen

$username trim($_POST['username'] ?? '');
$password trim($_POST['password'] ?? '');
$filePath __DIR__ "/users.txt"// Användarfiler

if (!file_exists($filePath))
    die(
"Filen users.txt saknas."); // Kontroll om filen finns

$lines file($filePathFILE_IGNORE_NEW_LINES);
$validUser false;

foreach (
$lines as $line) {
    list(
$u$p$role) = explode(";"$line); // Dela upp varje rad
    
if ($username === $u && $password === $p) {
        
// Om användaren hittas, sätt sessionsvariabler
        
$validUser true;
        
$_SESSION['logged_in'] = true;
        
$_SESSION['username'] = $u;
        
$_SESSION['role'] = $role;

        
// Skicka användaren till rätt sida beroende på roll
        
if ($role === "admin")
            
header("Location: admin.php");
        else
            
header("Location: user.php");
        exit();
    }
}

// Om användaren inte finns, skicka tillbaka med felmeddelande
if (!$validUser)
    
header("Location: index.php?msg=Fel användarnamn eller lösenord!");
exit();