First Implementation

This commit is contained in:
2026-05-26 00:20:34 +02:00
parent ee7986bef3
commit 4d4b8aeb99
8 changed files with 245 additions and 26 deletions
+25
View File
@@ -0,0 +1,25 @@
<?php
session_start();
require_once "includes/UserDAO.php";
$dao = new UserDAO();
/*
Deregistrierung
Funktion: Entfernt User aus Dummy-Daten und beendet Session
*/
if (isset($_SESSION["user_email"])) {
$email = $_SESSION["user_email"];
$dao->deleteUser($email);
}
/* Session beenden */
$_SESSION = [];
session_destroy();
header("Location: index.php?pfad=register");
exit();
+68 -8
View File
@@ -1,32 +1,92 @@
<?php
session_start();
require_once "includes/UserDAO.php";
$dao = new UserDAO();
$error = null;
/*
Verarbeitung des Login-Formulars
Funktion: Prüft Benutzerdaten und erstellt Session für eingeloggten Nutzer
*/
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$email = $_POST["email"];
$password = $_POST["password"];
// Benutzer im DAO suchen (Dummy-Daten)
$user = $dao->findUser($email);
// Prüfung der Zugangsdaten
if ($user && $user["password"] === $password) {
// Session setzen = User ist eingeloggt
$_SESSION["user"] = $user["username"];
$_SESSION["user_email"] = $user["email"];
// Weiterleitung zum Profil
header("Location: index.php?pfad=profile");
exit();
} else {
$error = "Login fehlgeschlagen. Bitte überprüfe deine Eingaben.";
}
}
?>
<!--
Form: Login-Bereich
Funktion: Benutzerauthentifizierung und Zugang zum eigenen Profil, Erstellen von Beiträgen, etc.
-->
<main class="login-page">
<div class="login-container">
<h1>Bitte anmelden</h1>
<form>
<label id ="inputEmail" class="screenreader-only">E-Mail Adresse / </label>
<!-- Fehlermeldung anzeigen -->
<?php if ($error): ?>
<p style="color:red;"><?php echo $error; ?></p>
<?php endif; ?>
<form method="post" action="index.php?pfad=login">
<p class="input-label">Benutzername/E-Mail-Adresse:</p>
<input type="email" name="email" class="login-input" placeholder="E-Mail-Adresse" required autofocus>
<input type="email"
name="email"
class="login-input"
placeholder="E-Mail-Adresse"
required
autofocus>
<p class="input-label">Passwort:</p>
<input type="password" name="password" class="login-input" placeholder="Passwort" required>
<input type="password"
name="password"
class="login-input"
placeholder="Passwort"
required>
<div class="checkbox-wrapper">
<label>
<input type="checkbox" name="remember-me" value="1"> angemeldet bleiben
<input type="checkbox" name="remember-me" value="1">
angemeldet bleiben
</label>
</div>
<button type="submit" value="anmelden" name="loginSubmit" class="login-button">anmelden</button>
<button type="submit"
value="anmelden"
name="loginSubmit"
class="login-button">
anmelden
</button>
<div class="register-link">
<a href="register.php">Noch keinen Account? Jetzt hier registrieren!</a>
<a href="index.php?pfad=register">
Noch keinen Account? Jetzt hier registrieren!
</a>
</div>
</form>
</div>
</main>
+6
View File
@@ -0,0 +1,6 @@
<?php
session_start();
session_destroy();
header("Location: index.php?pfad=login");
exit();
+8
View File
@@ -1,3 +1,11 @@
<?php
session_start();
if (!isset($_SESSION["user"])) {
header("Location: index.php?pfad=login");
exit();
}
?>
<!--
Content: Profil
Inhalt: Das eigene Profil, wenn man angemeldet ist. Dort hat man die Möglichkeit seine Angaben zu ändern.
+42 -3
View File
@@ -1,3 +1,33 @@
<?php
session_start();
require_once "includes/UserDAO.php";
$dao = new UserDAO();
/*
Verarbeitung des Registrierungs-Formulars
Funktion: Erstellt neuen Benutzer (Dummy) und speichert ihn im DAO + Session
*/
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$email = $_POST["email"];
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$password = $_POST["password"];
// Benutzer im DAO speichern (Dummy-Daten)
$dao->addUser($email, $vorname . " " . $nachname, $password);
// Session setzen = User ist eingeloggt
$_SESSION["user"] = $vorname . " " . $nachname;
$_SESSION["user_email"] = $email;
// Weiterleitung zum Profil
header("Location: index.php?pfad=profile");
exit();
}
?>
<!--
Form: Registrierung
Funktion: Erstellung neuer Benutzerkonten
@@ -7,7 +37,8 @@
<h1>Jetzt Registrieren!</h1>
<form>
<form method="post" action="index.php?pfad=register">
<p class="input-label">Email:</p>
<input type="email" name="email" class="login-input" placeholder="mustermann@web.de" required>
@@ -22,11 +53,19 @@
<div class="checkbox-wrapper">
<label>
<input type="checkbox" value="remember-me"> angemeldet bleiben
<input type="checkbox" value="remember-me">
angemeldet bleiben
</label>
</div>
<button type="submit" value="anmelden" name="loginSubmit" class="login-button">kostenlos registrieren</button>
<button type="submit"
value="register"
name="registerSubmit"
class="login-button">
kostenlos registrieren
</button>
</form>
</div>
</main>