Profildaten bearbeiten

This commit is contained in:
2026-06-02 22:42:47 +02:00
parent ade73f3105
commit 92574a0f76
4 changed files with 128 additions and 19 deletions
+45 -9
View File
@@ -9,8 +9,52 @@ if (!isset($_SESSION["user"])) {
exit();
}
$dao = new LocalUserDAO();
$error = null;
try {
$dao = new LocalUserDAO();
$user = $dao->findUser($_SESSION["user_email"] ?? "");
if (!$user) {
$_SESSION = [];
session_destroy();
header("Location: index.php?pfad=login");
exit();
}
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["saveProfile"])) {
$oldEmail = $_SESSION["user_email"];
$newEmail = $_POST["email"] ?? "";
$vorname = $_POST["vorname"] ?? "";
$nachname = $_POST["nachname"] ?? "";
$password = $_POST["password"] ?? "";
$existingUser = $dao->findUser($newEmail);
if ($existingUser && $newEmail !== $oldEmail) {
$error = "Diese E-Mail-Adresse wird bereits verwendet.";
} else {
$updated = $dao->updateUser(
$oldEmail,
$newEmail,
$vorname,
$nachname,
$password
);
if ($updated) {
$_SESSION["user"] = $vorname . " " . $nachname;
$_SESSION["user_email"] = $newEmail;
header("Location: index.php?pfad=profile");
exit();
} else {
$error = "Die Daten konnten nicht gespeichert werden.";
}
}
}
$user = $dao->findUser($_SESSION["user_email"] ?? "");
$articleManager = ArticleManager::getInstance();
@@ -23,12 +67,4 @@ try {
} catch (Exception $e) {
$_SESSION["message"] = "internal_error";
exit();
}
if (!$user) {
$_SESSION = [];
session_destroy();
header("Location: index.php?pfad=login");
exit();
}