echo $begrüßung;
Und zwar: ich bekomme per _POST eine Variable.
$variable = @$_POST['variable'];
Das ist unnötig. Du kannst, wenn du dich überzeugt hast, dass der Eintrag im $_POST-Array existiert (isset()), auch direkt darauf zugreifen, ohne mit einer weiteren Variable die Komplexität des Scripts unnötig zu erhöhen.
und ich will prüfen ob diese Variable gesetzt ist:
if ($variable == löschen){
Gesetzt ist sie nun auf jeden Fall, weil du ihr ja was zugewiesen hast. Und sei es nur ein NULL, was beim Zugriff auf eine nicht existente Variable (oder ein Feld in einem Array) entsteht.
Es tät helfen, wenn du beim Entwickeln das error_reporting auf E_ALL (und display_errors auf on) stellen würdest. Dann bekämst du in deinem Fall den Hinweis angezeigt, dass du versuchst, eine nicht initialisierte Konstante namens löschen zu benutzen versuchst und PHP stattdessen annimmt, du meinst den String 'löschen'.
Warum dann der Vergleich ein unerwartetes Ergebnis liefert, erfährst du, wenn du beide Werte mit var_dump() ausgibst.
echo "$verabschiedung $name";