Webbserverprogrammering 1

Show sourcecode

The following files exists in this folder. Click to view.

ramverket/exercises/quiz/

css/
dashboard.php
inc/
index.php
js/
login.php
logout.php
profile.php
quizzes.php
register.php
results.php

register.php

70 lines UTF-8 Windows (CRLF)
<?php
/* =========================
   Inkludera konfiguration,
   databas 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) {
    
header("Location: index.php");
    exit();
}

/* =========================
   Hantera registrering
   ========================= */
if (isset($_POST['username'], $_POST['password'])) {
    
$username $_POST['username'];
    
$password $_POST['password'];

    
// Skapa användare i databasen
    
$id addUser($conn$username$password);

    
// Skydd mot session fixation
    
session_regenerate_id(true);

    
// Spara användar-ID och giltighetstid i sessionen
    
$_SESSION['id'] = $id;
    
$_SESSION['expires_at'] = time() + 3600;

    
// Skicka till startsidan
    
header("Location: index.php");
    exit();
}

/* =========================
   Sidtitel
   ========================= */
$page_title "Skapa konto - Quizzeria";
?>

<!DOCTYPE html>
<html lang="sv">
<?php include("inc/head.php"); ?>
<body>

<?php include("inc/header.php"); ?>

<!-- =========================
     Registreringsformulä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="Skapa konto">
</form>

<p>Har du redan ett konto? <a href="login.php">Logga in här</a></p>

<?php include("inc/footer.php"); ?>

</body>
</html>