Show sourcecode
The following files exists in this folder. Click to view.
css/
dashboard.php
inc/
index.php
js/
login.php
logout.php
profile.php
quizzes.php
register.php
results.php
login.php
92 lines UTF-8 Windows (CRLF)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
<?php
/* =========================
Inkludera konfiguration,
databasanslutning och
databasfunktioner
========================= */
include("inc/config.php");
include("inc/connect_db.php");
include("inc/db_manager.php");
/* =========================
Kontrollera om användaren
redan är inloggad
========================= */
$id = $_SESSION['id'] ?? null;
if ($id !== null) {
// Redan inloggad → skicka till startsidan
header("Location: index.php");
exit();
}
/* =========================
Hantera inloggningsförsök
========================= */
if (isset($_POST['username'], $_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
// Hämta användare baserat på användarnamn
$user = getUser($conn, "username", $username);
// Om användaren inte finns
if (!$user) {
header("Location: login.php");
exit();
}
// Kontrollera lösenord mot hash i databasen
if (password_verify($password, $user['password_hash'])) {
// Skydd mot session fixation
session_regenerate_id(true);
// Spara användar-ID i sessionen
$_SESSION['id'] = $user['id'];
// Sätt giltighetstid för sessionen (1 timme)
$_SESSION['expires_at'] = time() + 3600;
header("Location: index.php");
exit();
} else {
// Fel lösenord
header("Location: login.php");
exit();
}
}
/* =========================
Sidtitel
========================= */
$page_title = "Logga in - Quizzeria";
?>
<!DOCTYPE html>
<html lang="sv">
<?php include("inc/head.php"); ?>
<body>
<?php include("inc/header.php"); ?>
<!-- =========================
Inloggningsformulär
========================= -->
<form method="POST">
<input type="text" name="username" placeholder="Användarnamn" required>
<input type="password" name="password" placeholder="Lösenord" required>
<input type="submit" value="Logga in">
</form>
<!-- =========================
Länk till registrering
========================= -->
<p>Har du inget konto?
<a href="register.php">Registrera konto här</a>
</p>
<?php include("inc/footer.php"); ?>
</body>
</html>