Vor und Nachname separat speichern

This commit is contained in:
2026-06-02 21:56:52 +02:00
parent a26e985edf
commit 94486e2b0a
5 changed files with 66 additions and 33 deletions
+48 -20
View File
@@ -3,21 +3,22 @@ include_once 'php/controller/profile-controller.php';
$user = $user ?? null; $user = $user ?? null;
?> ?>
<!--
Content: Profil
Inhalt: Das eigene Profil, wenn man angemeldet ist. Dort hat man die Möglichkeit seine Angaben zu ändern.
-->
<main class="form-page"> <main class="form-page">
<div class="flexbox"> <div class="flexbox">
<!-- Linke Spalte: Profildaten -->
<div class="container"> <div class="container">
<form> <form>
<label class="input-label">Name</label> <label class="input-label">Vorname</label>
<input type="text" <input type="text"
class="login-input" class="login-input"
readonly readonly
value="<?php echo htmlspecialchars($user["username"] ?? ""); ?>"> value="<?php echo htmlspecialchars($user["vorname"] ?? ""); ?>">
<label class="input-label">Nachname</label>
<input type="text"
class="login-input"
readonly
value="<?php echo htmlspecialchars($user["nachname"] ?? ""); ?>">
<label class="input-label">Email-Adresse</label> <label class="input-label">Email-Adresse</label>
<input type="email" <input type="email"
@@ -31,6 +32,7 @@ $user = $user ?? null;
readonly readonly
value="********"> value="********">
</form> </form>
<br> <br>
<a href="index.php?pfad=deleteAccount" class="button"> <a href="index.php?pfad=deleteAccount" class="button">
@@ -44,36 +46,53 @@ $user = $user ?? null;
</a> </a>
</div> </div>
<!-- Rechte Spalte: Eigene Beiträge -->
<div class="container"> <div class="container">
<h2 class="section-title">Meine Beiträge</h2> <h2 class="section-title">Meine Beiträge</h2>
<div class="articles-list"> <div class="articles-list">
<?php if (isset($_SESSION["message"]) && $_SESSION["message"] == "internal_error"): ?> <?php if (isset($_SESSION["message"]) && $_SESSION["message"] == "internal_error"): ?>
<p class="alert-message is-error"> <p class="alert-message is-error">
Es ist ein interner Fehler aufgetreten. Bitte versuche es erneut. Es ist ein interner Fehler aufgetreten. Bitte versuche es erneut.
</p> </p>
<?php elseif (isset($userArticles) && count($userArticles) > 0): ?> <?php elseif (isset($userArticles) && count($userArticles) > 0): ?>
<?php foreach ($userArticles as $userArticle): ?> <?php foreach ($userArticles as $userArticle): ?>
<!-- Ein einzelner Artikel-Eintrag -->
<div class="article-item"> <div class="article-item">
<div class="article-meta"> <div class="article-meta">
<span class="article-date"><?php echo htmlspecialchars($userArticle->getCreationDate()); ?></span> <span class="article-date">
<span class="article-category"><?php echo htmlspecialchars($userArticle->getCategory()); ?></span> <?php echo htmlspecialchars($userArticle->getCreationDate()); ?>
</span>
<span class="article-category">
<?php echo htmlspecialchars($userArticle->getCategory()); ?>
</span>
</div> </div>
<h3 class="article-title"><?php echo htmlspecialchars($userArticle->getTitle()); ?></h3>
<h3 class="article-title">
<?php echo htmlspecialchars($userArticle->getTitle()); ?>
</h3>
<?php <?php
$tags = $userArticle->getTags(); $tags = $userArticle->getTags();
if (isset($tags) && !empty($tags)): ?> if (isset($tags) && !empty($tags)):
?>
<div class="article-view-bottom-section"> <div class="article-view-bottom-section">
<div class="article-view-tags-label">Tags:</div> <div class="article-view-tags-label">Tags:</div>
<div class="article-view-tags-list"> <div class="article-view-tags-list">
<?php <?php
$tagArray = is_array($tags) ? $tags : explode(',', $tags); $tagArray = is_array($tags) ? $tags : explode(',', $tags);
foreach ($tagArray as $tag): foreach ($tagArray as $tag):
$trimmedTag = trim($tag); $trimmedTag = trim($tag);
if (!empty($trimmedTag)): if (!empty($trimmedTag)):
?> ?>
<span class="article-view-tag-item"><?php echo htmlspecialchars($trimmedTag); ?></span> <span class="article-view-tag-item">
<?php echo htmlspecialchars($trimmedTag); ?>
</span>
<?php <?php
endif; endif;
endforeach; endforeach;
@@ -81,18 +100,27 @@ $user = $user ?? null;
</div> </div>
</div> </div>
<?php endif; ?> <?php endif; ?>
<a href="index.php?pfad=updateArticle&id=<?php echo $userArticle->getID(); ?>" class="edit-link-button">Bearbeiten</a>
<a href="index.php?pfad=updateArticle&id=<?php echo $userArticle->getID(); ?>"
class="edit-link-button">
Bearbeiten
</a>
</div> </div>
<?php endforeach; ?> <?php endforeach; ?>
<?php else: ?> <?php else: ?>
<p>Du hast noch keine Beiträge erstellt.</p> <p>Du hast noch keine Beiträge erstellt.</p>
<button type="button" class="button" onclick="window.location.href='index.php?pfad=createArticle';">
<button type="button"
class="button"
onclick="window.location.href='index.php?pfad=createArticle';">
Beitrag erstellen! Beitrag erstellen!
</button> </button>
<?php endif; ?> <?php endif; ?>
<?php
unset($_SESSION["message"]); <?php unset($_SESSION["message"]); ?>
?>
</div> </div>
</div> </div>
-4
View File
@@ -4,10 +4,6 @@ include_once 'php/controller/register-controller.php';
$error = $error ?? null; $error = $error ?? null;
?> ?>
<!--
Form: Registrierung
Funktion: Erstellung neuer Benutzerkonten
-->
<main class="login-page"> <main class="login-page">
<div class="login-container"> <div class="login-container">
+4 -1
View File
@@ -12,11 +12,14 @@ if (!isset($_SESSION["user"])) {
try { try {
$dao = new LocalUserDAO(); $dao = new LocalUserDAO();
$user = $dao->findUser($_SESSION["user_email"] ?? ""); $user = $dao->findUser($_SESSION["user_email"] ?? "");
$articleManager = ArticleManager::getInstance(); $articleManager = ArticleManager::getInstance();
$userArticles = $articleManager->getArticlesByAuthor($_SESSION["user_email"]); $userArticles = $articleManager->getArticlesByAuthor($_SESSION["user_email"]);
if(!isset($userArticles)) {
if (!isset($userArticles)) {
$_SESSION["message"] = "user_has_no_articles"; $_SESSION["message"] = "user_has_no_articles";
} }
} catch (Exception $e) { } catch (Exception $e) {
$_SESSION["message"] = "internal_error"; $_SESSION["message"] = "internal_error";
exit(); exit();
+3 -6
View File
@@ -5,10 +5,6 @@ require_once "php/model/LocalUserDAO.php";
$dao = new LocalUserDAO(); $dao = new LocalUserDAO();
$error = null; $error = null;
/*
Verarbeitung des Registrierungs-Formulars
Funktion: Erstellt neuen Benutzer und speichert ihn im DAO + Session
*/
if ($_SERVER["REQUEST_METHOD"] === "POST") { if ($_SERVER["REQUEST_METHOD"] === "POST") {
$email = $_POST["email"] ?? ""; $email = $_POST["email"] ?? "";
@@ -27,7 +23,8 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
$dao->addUser( $dao->addUser(
$email, $email,
$vorname . " " . $nachname, $vorname,
$nachname,
$password $password
); );
@@ -37,4 +34,4 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
header("Location: index.php"); header("Location: index.php");
exit(); exit();
} }
} }
+11 -2
View File
@@ -1,4 +1,5 @@
<?php <?php
require_once "UserDAOInterface.php"; require_once "UserDAOInterface.php";
class LocalUserDAO implements UserDAOInterface { class LocalUserDAO implements UserDAOInterface {
@@ -28,6 +29,13 @@ class LocalUserDAO implements UserDAOInterface {
foreach ($users as $user) { foreach ($users as $user) {
if ($user["email"] === $email) { if ($user["email"] === $email) {
if (!isset($user["vorname"]) && isset($user["username"])) {
$nameParts = explode(" ", $user["username"], 2);
$user["vorname"] = $nameParts[0] ?? "";
$user["nachname"] = $nameParts[1] ?? "";
}
return $user; return $user;
} }
} }
@@ -35,12 +43,13 @@ class LocalUserDAO implements UserDAOInterface {
return null; return null;
} }
public function addUser($email, $username, $password) { public function addUser($email, $vorname, $nachname, $password) {
$users = $this->loadUsers(); $users = $this->loadUsers();
$users[] = [ $users[] = [
"email" => $email, "email" => $email,
"username" => $username, "vorname" => $vorname,
"nachname" => $nachname,
"password" => $password "password" => $password
]; ];