echo $begrüßung;
Diese Fehlermeldungen in HTML auszugeben hat wenig Sinn.
Es hat wohl Sinn, grundsätzlich eine valide HTML-Seite auszugeben und dem Client keinen losen String mit "die()" entgegenzuschleudern.
Ja, da stimme ich mit dir überein. die() ist schlechter, benutzerunfreundlicher Stil. Die Meldung in den sonst üblichen Seitenaufbau zu integrieren, so dass auch die Menüs, Fußzeilen und dergleichen zu sehen sind, ist wesentlich angenehmer für den Anwender.
In dieser Seite sollten dann auch geeignete Rücklinks zum Projekt enthalten sein und eine kleine Erkläreung/ Entschuldigung, warum der User die angefragte Leisttung nicht erhalten hat.
Den Benutzer interessieren aber die Details des Datenbankabfragefehlers nicht. Er muss im Prinzip noch nicht mal wissen, dass eine Datenbank im Spiel ist. Er kann bei dieser Art von Fehler nichts weiter ausrichten, weswegen er auch keine Details benötigt. Eine allgemeine Tröstmeldung mit dem Vorschlag, es später noch einmal zu probieren, reicht in meinen Augen aus. (Am besten mit einem Temporary Unavailable, aber diesen HTTP-Statuscode scheint es nicht zu geben.)
echo "$verabschiedung $name";