diff --git a/webseite/header.php b/webseite/header.php
index 31b5f69..3e53161 100644
--- a/webseite/header.php
+++ b/webseite/header.php
@@ -28,16 +28,30 @@
require_once("classes/User.php");
session_start();
if (isset($_SESSION['user']) && $_SESSION['user']->isLoggedIn()) {
- // Logout Button
- echo '
';
- // Username Dropdown - Weitere Funktionen implementierbar
- echo '
-
-
';
+ ?>
+
+
+
+
+
+
+
+
@@ -84,6 +98,53 @@ if (!isset($_SESSION['user']) || !$_SESSION['user']->isLoggedIn()) {
}
?>
+
+isLoggedIn()) {
+ ?>
+
+
+
+
+
+
diff --git a/webseite/password.php b/webseite/password.php
new file mode 100644
index 0000000..3f66524
--- /dev/null
+++ b/webseite/password.php
@@ -0,0 +1,39 @@
+isLoggedIn()) {
+ header("Location: index.php?password_error=not_logged_in");
+ exit();
+ }
+
+ $currentPassword = $_POST['currentPassword'];
+ $newPassword = $_POST['newPassword'];
+ $confirmNewPassword = $_POST['confirmNewPassword'];
+
+ $user = $_SESSION['user'];
+
+ // Prüfe, ob das aktuelle Passwort korrekt ist
+ if (!$user->isPasswordCorrect($currentPassword)) {
+ header("Location: index.php?password_error=wrong_current_password");
+ exit();
+ }
+
+ // Prüfe, ob die neuen Passwörter übereinstimmen
+ if ($newPassword !== $confirmNewPassword) {
+ header("Location: index.php?password_error=password_mismatch");
+ exit();
+ }
+
+ // Aktualisiere das Passwort
+ if ($user->changePassword($currentPassword, $newPassword)) {
+ header("Location: index.php?password_success=1");
+ exit();
+ } else {
+ header("Location: index.php?password_error=update_failed");
+ exit();
+ }
+}
+?>
\ No newline at end of file