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();
$error = null;
/*
Verarbeitung des Registrierungs-Formulars
Funktion: Erstellt neuen Benutzer (Dummy) und speichert ihn im DAO + Session
@@ -15,7 +17,12 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
$nachname = $_POST["nachname"];
$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);
// Session setzen = User ist eingeloggt
@@ -26,6 +33,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
header("Location: index.php?pfad=profile");
exit();
}
}
?>
<!--
@@ -37,6 +45,11 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
<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>
+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 {
private static array $users = [
[
"email" => "test@test.de",
"username" => "test",
"password" => "1234"
]
];
private string $file = "data/users.json";
private function loadUsers() {
if (!file_exists($this->file)) {
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) {
foreach (self::$users as $user) {
$users = $this->loadUsers();
foreach ($users as $user) {
if ($user["email"] === $email) {
return $user;
}
}
return null;
}
public function addUser($email, $username, $password) {
self::$users[] = [
$users = $this->loadUsers();
$users[] = [
"email" => $email,
"username" => $username,
"password" => $password
];
$this->saveUsers($users);
}
public function deleteUser($email) {
foreach (self::$users as $i => $user) {
$users = $this->loadUsers();
foreach ($users as $i => $user) {
if ($user["email"] === $email) {
unset(self::$users[$i]);
self::$users = array_values(self::$users);
unset($users[$i]);
$users = array_values($users);
$this->saveUsers($users);
return true;
}
}
return false;
}
}