Loeschen ohne Mailversand reparieren, Fehlertext praezisieren

Die Abfrage in aktion=10 stammte noch aus der Zeit der user-Tabelle und
selektierte p.mail, p.jahrgang sowie a.timeid. Keine dieser Spalten
existiert: persons fuehrt email und geburtstag, anfragen hat kein timeid.
Die Abfrage warf damit eine PDOException, und da der Block kein try/catch
hat, brach das Skript vor dem UPDATE ab - "Anforderung loeschen (ohne
Mail)" war komplett wirkungslos.

Spaltennamen korrigiert und die uebrig gebliebene Debug-Ausgabe von
timeid entfernt, die als einzige Stelle den Wert genutzt hat. Ein Scan
aller persons-Aliasse gegen das Schema zeigt keine weiteren Fundstellen.

Der Fehlertext beim fehlgeschlagenen Mailversand in aktion=3 behauptete,
es sei nichts gespeichert worden. Tatsaechlich laeuft das UPDATE vorher.
Die Meldung benennt jetzt den echten Zustand und bittet darum, den
Vorgang erneut auszufuehren.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-03 12:43:43 +02:00
co-authored by Claude Opus 5
parent 00b7811446
commit fbe6f4ce5a
+7 -10
View File
@@ -584,7 +584,9 @@ if(!check_worker()){
} catch (Throwable $e) {
echo "<h3>Fehler</h3>";
echo "E-Mailversand fehlgeschlagen es wurde nichts gespeichert.<br>";
echo "Der E-Mailversand ist fehlgeschlagen.<br>";
echo "Die Anfrage wurde bereits als beantwortet gespeichert, der Patient hat aber keine Benachrichtigung erhalten.<br>";
echo "Bitte den Vorgang erneut ausf&uuml;hren.<br>";
}
}else if (($_POST["aktion"] ?? '') == "4") {
@@ -956,14 +958,13 @@ if(!check_worker()){
SELECT
a.anfrageid,
a.checked,
a.timeid,
a.requester_person_id,
p.vorname,
p.nachname,
p.mail,
p.email,
p.tele,
p.jahrgang
p.geburtstag
FROM anfragen a
INNER JOIN persons p ON p.person_id = a.requester_person_id
WHERE a.anfrageid = :anfrageid
@@ -978,19 +979,15 @@ if(!check_worker()){
$requesterPersonId = (int)$row["requester_person_id"];
$checked = (int)$row["checked"];
$timeid = $row["timeid"]; // kann NULL sein
$vorname = $row["vorname"];
$nachname = $row["nachname"];
$mail = $row["mail"];
$mail = $row["email"];
$tel = $row["tele"];
$jahrgang = $row["jahrgang"];
$jahrgang = $row["geburtstag"];
$userausgabe = $vorname . " " . $nachname;
// Debug wie vorher (falls du es noch brauchst)
echo htmlspecialchars((string)$timeid, ENT_QUOTES, 'UTF-8');
// 2) Anfrage “löschen/abschließen” (ohne Mail)
$stmt = $pdo->prepare("
UPDATE anfragen