First Implementation

This commit is contained in:
2026-05-26 22:59:48 +02:00
parent 4d4b8aeb99
commit a946cee891
4 changed files with 63 additions and 20 deletions
View File
+14 -1
View File
@@ -4,6 +4,8 @@ require_once "includes/UserDAO.php";
$dao = new UserDAO(); $dao = new UserDAO();
$error = null;
/* /*
Verarbeitung des Registrierungs-Formulars Verarbeitung des Registrierungs-Formulars
Funktion: Erstellt neuen Benutzer (Dummy) und speichert ihn im DAO + Session Funktion: Erstellt neuen Benutzer (Dummy) und speichert ihn im DAO + Session
@@ -15,7 +17,12 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
$nachname = $_POST["nachname"]; $nachname = $_POST["nachname"];
$password = $_POST["password"]; $password = $_POST["password"];
// Benutzer im DAO speichern (Dummy-Daten) // 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); $dao->addUser($email, $vorname . " " . $nachname, $password);
// Session setzen = User ist eingeloggt // Session setzen = User ist eingeloggt
@@ -25,6 +32,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
// Weiterleitung zum Profil // Weiterleitung zum Profil
header("Location: index.php?pfad=profile"); header("Location: index.php?pfad=profile");
exit(); exit();
}
} }
?> ?>
@@ -37,6 +45,11 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
<h1>Jetzt Registrieren!</h1> <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"> <form method="post" action="index.php?pfad=register">
<p class="input-label">Email:</p> <p class="input-label">Email:</p>
+7
View File
@@ -0,0 +1,7 @@
[
{
"email": "test@test.de",
"username": "test",
"password": "1234"
}
]
+35 -12
View File
@@ -2,39 +2,62 @@
class UserDAO { class UserDAO {
private static array $users = [ private string $file = "data/users.json";
[
"email" => "test@test.de", private function loadUsers() {
"username" => "test", if (!file_exists($this->file)) {
"password" => "1234" return [];
] }
];
$json = file_get_contents($this->file);
$users = json_decode($json, true);
return is_array($users) ? $users : [];
}
private function saveUsers($users) {
file_put_contents(
$this->file,
json_encode($users, JSON_PRETTY_PRINT)
);
}
public function findUser($email) { public function findUser($email) {
foreach (self::$users as $user) { $users = $this->loadUsers();
foreach ($users as $user) {
if ($user["email"] === $email) { if ($user["email"] === $email) {
return $user; return $user;
} }
} }
return null; return null;
} }
public function addUser($email, $username, $password) { public function addUser($email, $username, $password) {
self::$users[] = [ $users = $this->loadUsers();
$users[] = [
"email" => $email, "email" => $email,
"username" => $username, "username" => $username,
"password" => $password "password" => $password
]; ];
$this->saveUsers($users);
} }
public function deleteUser($email) { public function deleteUser($email) {
foreach (self::$users as $i => $user) { $users = $this->loadUsers();
foreach ($users as $i => $user) {
if ($user["email"] === $email) { if ($user["email"] === $email) {
unset(self::$users[$i]); unset($users[$i]);
self::$users = array_values(self::$users); $users = array_values($users);
$this->saveUsers($users);
return true; return true;
} }
} }
return false; return false;
} }
} }