echo $begrüßung;
Beides geht, obwohl das erste besser ist, da man Daten, welche du per $_POST oder $_GET immer überprüfen solltest. (reine Sicherheitsmaßnahme)
Wo war denn da eine Überprüfung?
Beides war nicht ganz richtig. Es erfüllt zwar den Zweck, das zweite sogar ohne unnötige Umwege, doch es wurde der Kontextwechsel nicht beachtet. Dieser muss bei allen Ausgabewerten berücksichtigt werden, nicht nur bei den Benutzereingaben. Allgemein lautet der "Lehrsatz": Wann immer ein Wert in einen Kontext gebracht wird, ist dieser Wert dem Kontext entsprechend zu behandeln. Für den Kontext HTML sind die HTML-eigenen Zeichen zu beachten und auf spezielle Weise zu notieren. Die PHP-Funktion htmlspecialchars() kümmert sich darum. Man wendet sie direkt auf bei der Ausgabe an.
echo "Ausgabetext ", htmlspecialchars($_POST['foo']), " noch mehr Text";
Auf diese Weise kann es nicht mehr gelingen, unerwünschte Anweisungen in die Ausgabe einzubauen.
echo "$verabschiedung $name";