Reviewnacharbeitung

This commit is contained in:
2026-06-03 21:14:01 +02:00
parent 22b1dd827d
commit 664092d52f
2 changed files with 53 additions and 33 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ $error = $error ?? null;
<h1>Jetzt Registrieren!</h1>
<?php if (!empty($error)): ?>
<p class="alert-message is-error">
<p class="alert-message is-error" style="color:red;">
<?php echo htmlspecialchars($error); ?>
</p>
<?php endif; ?>
+52 -32
View File
@@ -1,43 +1,63 @@
<?php
$error = $error ?? null;
?>
require_once "php/model/LocalUserDAO.php";
require_once "php/validator/user-validator.php";
<!--
Form: Registrierung
Funktion: Erstellung neuer Benutzerkonten
-->
<main class="login-page">
<div class="login-container">
$error = null;
<h1>Jetzt Registrieren!</h1>
if ($_SERVER["REQUEST_METHOD"] === "POST") {
<?php if (!empty($error)): ?>
<p class="alert-message is-error">
<?php echo htmlspecialchars($error); ?>
</p>
<?php endif; ?>
$email = trim($_POST["email"] ?? "");
$vorname = trim($_POST["vorname"] ?? "");
$nachname = trim($_POST["nachname"] ?? "");
$plainPassword = $_POST["password"] ?? "";
<form method="post" action="index.php?pfad=register">
if (!userEmailValidator($email)) {
$error = "Bitte gib eine gültige E-Mail-Adresse ein.";
} elseif (!userNameValidator($vorname)) {
$error = "Der Vorname muss 2 bis 50 Zeichen lang sein und darf nur Buchstaben, Leerzeichen und Bindestriche enthalten.";
} elseif (!userNameValidator($nachname)) {
$error = "Der Nachname muss 2 bis 50 Zeichen lang sein und darf nur Buchstaben, Leerzeichen und Bindestriche enthalten.";
} elseif (!userPasswordValidator($plainPassword)) {
$error = "Das Passwort muss 8 bis 72 Zeichen lang sein.";
} else {
try {
$dao = new LocalUserDAO();
<p class="input-label">Email:</p>
<input type="email"
name="email"
class="login-input"
placeholder="mustermann@web.de"
value="<?php echo htmlspecialchars($_POST["email"] ?? ""); ?>"
required>
$password = password_hash($plainPassword, PASSWORD_DEFAULT);
<p class="input-label">Vorname:</p>
<input type="text"
name="vorname"
class="login-input"
placeholder="Max"
value="<?php echo htmlspecialchars($_POST["vorname"] ?? ""); ?>"
required>
$dao->addUser($email, $vorname, $nachname, $password);
<p class="input-label">Nachname:</p>
<input type="text"
name="nachname"
class="login-input"
placeholder="Mustermann"
value="<?php echo htmlspecialchars($_POST["nachname"] ?? ""); ?>"
required>
$_SESSION["user"] = $vorname . " " . $nachname;
$_SESSION["user_email"] = $email;
<p class="input-label">Passwort:</p>
<input type="password"
name="password"
class="login-input"
placeholder="Passwort"
required>
header("Location: index.php");
exit();
<button type="submit"
value="register"
name="registerSubmit"
class="login-button">
kostenlos registrieren
</button>
} catch (InvalidArgumentException $e) {
$error = $e->getMessage();
} catch (Exception $e) {
$error = "Die Registrierung konnte nicht gespeichert werden.";
}
}
}
</form>
</div>
</main>