Files
webprogrammierung/content/register.php
T
2026-05-31 21:35:54 +02:00

87 lines
2.4 KiB
PHP

<?php
session_start();
require_once "includes/LocalUserDAO.php";
$dao = new LocalUserDAO();
$error = null;
/*
Verarbeitung des Registrierungs-Formulars
Funktion: Erstellt neuen Benutzer (Dummy) und speichert ihn im DAO + Session
*/
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$email = $_POST["email"];
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$password = password_hash(
$_POST["password"],
PASSWORD_DEFAULT
);
// Prüfen, ob die E-Mail bereits registriert ist
if ($dao->findUser($email)) {
$error = "Diese E-Mail-Adresse ist bereits registriert.";
} else {
// Benutzer im DAO speichern (JSON-Dummy-Daten)
$dao->addUser($email, $vorname . " " . $nachname, $password);
// Session setzen = User ist eingeloggt
$_SESSION["user"] = $vorname . " " . $nachname;
$_SESSION["user_email"] = $email;
// Weiterleitung zur Homepage
header("Location: index.php");
exit();
}
}
?>
<!--
Form: Registrierung
Funktion: Erstellung neuer Benutzerkonten
-->
<main class="login-page">
<div class="login-container">
<h1>Jetzt Registrieren!</h1>
<!-- Fehlermeldung anzeigen -->
<?php if ($error): ?>
<p style="color:red;"><?php echo $error; ?></p>
<?php endif; ?>
<form method="post" action="index.php?pfad=register">
<p class="input-label">Email:</p>
<input type="email" name="email" class="login-input" placeholder="mustermann@web.de" required>
<p class="input-label">Vorname:</p>
<input type="text" name="vorname" class="login-input" placeholder="Max" required>
<p class="input-label">Nachname:</p>
<input type="text" name="nachname" class="login-input" placeholder="Mustermann" required>
<p class="input-label">Passwort:</p>
<input type="password" name="password" class="login-input" placeholder="Passwort" required>
<div class="checkbox-wrapper">
<label>
<input type="checkbox" value="remember-me">
angemeldet bleiben
</label>
</div>
<button type="submit"
value="register"
name="registerSubmit"
class="login-button">
kostenlos registrieren
</button>
</form>
</div>
</main>