First Implementation
This commit is contained in:
+14
-1
@@ -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>
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"email": "test@test.de",
|
||||||
|
"username": "test",
|
||||||
|
"password": "1234"
|
||||||
|
}
|
||||||
|
]
|
||||||
+35
-12
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user