Forum implementiert #34

Merged
niklas.ortmann merged 20 commits from Forum into dev 2026-06-17 10:24:25 +02:00
Collaborator
No description provided.
caroline.slt added 18 commits 2026-06-16 00:04:03 +02:00
niklas.ortmann requested changes 2026-06-16 21:10:50 +02:00
Dismissed
@@ -183,0 +187,4 @@
<h2 class="section-title">Meine Kommentare</h2>
<div class="articles-list">
Owner

Würde ich in ein eigenes Div packen, nicht in das gleiche Div wie die Beiträge

Würde ich in ein eigenes Div packen, nicht in das gleiche Div wie die Beiträge
caroline.slt marked this conversation as resolved
@@ -183,0 +201,4 @@
<p>
<?php echo nl2br(htmlspecialchars($comment->getContent())); ?>
</p>
Owner

Müssen Kommentare auch wieder gelöscht werden dürfen?
Ich weiß, dass das schwierig für den Kommentar-Baum ist...
Sonst lassen wir das erst so, wenn es zu umständlich ist.

Müssen Kommentare auch wieder gelöscht werden dürfen? Ich weiß, dass das schwierig für den Kommentar-Baum ist... Sonst lassen wir das erst so, wenn es zu umständlich ist.
Author
Collaborator

Schaffe ich heute nicht mehr

Schaffe ich heute nicht mehr
@@ -66,3 +66,3 @@
<div class="article-view-tags-list">
<?php
// Falls $tags ein String ist (z.B. "Web, CSS"), in ein Array umwandeln
Owner

?

?
caroline.slt marked this conversation as resolved
@@ -59,4 +60,3 @@
<?php endif; ?>
</div>
<!-- Beitrags-Endbereich (Tags) -->
Owner

?

?
caroline.slt marked this conversation as resolved
@@ -54,4 +55,2 @@
<!-- Beitrags-Inhalt -->
<div class="article-view-content">
<?php if (isset($content)): ?>
<!-- nl2br für Zeilenumbrüche -->
Owner

?

?
caroline.slt marked this conversation as resolved
@@ -34,3 +35,2 @@
?>
<?php unset($_SESSION["message"]); ?>
<!-- Metadaten & Titel -->
Owner

Warum?

Warum?
caroline.slt marked this conversation as resolved
@@ -15,4 +33,1 @@
<?php endif; ?>
<?php if (isset($_SESSION["message"]) && $_SESSION["message"] == "missing_id"): ?>
<p class="alert-message is-error">
Es ist ein Fehler aufgetreten. Die ID konnte nicht ausgelesen werden. Bitte versuche es erneut.
Owner

Warum werden die Error-Nachrichten gelöscht?!

Warum werden die Error-Nachrichten gelöscht?!
caroline.slt marked this conversation as resolved
@@ -8,2 +25,3 @@
}
?>
<!-- Hauptcontainer für die Beitragsansicht (Ausschließlich der Content-Bereich) -->
Owner

Warum wurde der Kommentar entfernt?

Warum wurde der Kommentar entfernt?
caroline.slt marked this conversation as resolved
index.php Outdated
@@ -52,7 +52,7 @@ if ($pfad === "deleteAccount") {
<link rel="stylesheet" href="css/showArticle.css">
<link rel="stylesheet" href="css/message.css">
<script src="js/paginator.js" async></script>
Owner

Warum löscht du das Skript?!

Warum löscht du das Skript?!
caroline.slt marked this conversation as resolved
@@ -0,0 +1,56 @@
<?php
session_start();
Owner

Bitte vorher prüfen, ob die Session schon gestartet wurde.

Bitte vorher prüfen, ob die Session schon gestartet wurde.
caroline.slt marked this conversation as resolved
@@ -0,0 +47,4 @@
}
} catch (PDOException $e) {
throw new RuntimeException("Kommentardatenbank konnte nicht erstellt werden.");
Owner

Die genaue Formulierung der Fehlernachrichten wird ja in den views übernommen. Hier könnte man Fehlerkürzel wie
RuntimeException("internal_error") verwenden. In der view wird aus der Exception dann gelesen, was in dieser Stand. Wenn dort dann internal_error stand, dann wird eine bestimmte Fehlernachricht angezeigt.

Die genaue Formulierung der Fehlernachrichten wird ja in den views übernommen. Hier könnte man Fehlerkürzel wie RuntimeException("internal_error") verwenden. In der view wird aus der Exception dann gelesen, was in dieser Stand. Wenn dort dann internal_error stand, dann wird eine bestimmte Fehlernachricht angezeigt.
caroline.slt marked this conversation as resolved
@@ -0,0 +67,4 @@
return $db;
} catch (PDOException $e) {
throw new RuntimeException("Verbindung zur Kommentardatenbank fehlgeschlagen.");
Owner

s. oben

s. oben
caroline.slt marked this conversation as resolved
@@ -0,0 +135,4 @@
return intval($db->lastInsertId());
} catch (PDOException $e) {
throw new RuntimeException("Kommentar konnte nicht gespeichert werden.");
Owner

s. oben

s. oben
caroline.slt marked this conversation as resolved
@@ -0,0 +175,4 @@
return $this->mapRowsToComments($command);
} catch (PDOException $e) {
throw new RuntimeException("Kommentare konnten nicht geladen werden.");
Owner

s. oben

s. oben
caroline.slt marked this conversation as resolved
@@ -0,0 +215,4 @@
return $this->mapRowsToComments($command);
} catch (PDOException $e) {
throw new RuntimeException("Kommentare konnten nicht geladen werden.");
Owner

s. oben

s. oben
caroline.slt marked this conversation as resolved
Owner

Ich finde die Implementierung an sich richtig gut! Sie funktioniert und sieht gut aus.
Auch das DAO-Pattern ist vernünftig umgesetzt.

Aber mir fällt auf, dass du viele Zeilen einfach löscht, obwohl sie nichts mit deiner Funktionalität zu tun haben. Ich schätze mal, dass du den Code einem LLM gibst und die Ausgabe der LLM einfach wieder reinkopierst. Bitte kopiere nur Code-Fragmente und nie vollständige Dateien!!!
Die KI kennt nicht die vollständige Implementation, denkt, dass einige Codezeilen unnötig sind und löscht diese einfach. Wenn du den gesamten Code einfach kopierst, dann fällt dir das nicht mal auf.

Ich kann mich auch irren. Dann musst du mir bitte begründen, warum du die Zeilen oben gelöscht hast.

Ich finde die Implementierung an sich richtig gut! Sie funktioniert und sieht gut aus. Auch das DAO-Pattern ist vernünftig umgesetzt. Aber mir fällt auf, dass du viele Zeilen einfach löscht, obwohl sie nichts mit deiner Funktionalität zu tun haben. Ich schätze mal, dass du den Code einem LLM gibst und die Ausgabe der LLM einfach wieder reinkopierst. Bitte kopiere nur Code-Fragmente und nie vollständige Dateien!!! Die KI kennt nicht die vollständige Implementation, denkt, dass einige Codezeilen unnötig sind und löscht diese einfach. Wenn du den gesamten Code einfach kopierst, dann fällt dir das nicht mal auf. Ich kann mich auch irren. Dann musst du mir bitte begründen, warum du die Zeilen oben gelöscht hast.
caroline.slt added 1 commit 2026-06-16 22:09:21 +02:00
caroline.slt added 1 commit 2026-06-16 22:32:02 +02:00
niklas.ortmann approved these changes 2026-06-16 23:31:03 +02:00
niklas.ortmann merged commit af17764346 into dev 2026-06-17 10:24:25 +02:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: niklas.ortmann/webprogrammierung#34