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