echo $begrüßung;
= ist ein Zuweisungsoperator, kann also nicht für Vergleiche verwendet werden.
Das sehe ich nicht so. Das Ergebnis einer Zuweisung ist der Wert der Zuweisung.
if ($id = getID())
Verwendung von $id
Das ist kein Fehler sondern Absicht. getID() liefert eine ID -- oder 0 wenn es keine ID ermitteln konnte. Der Rückgabewert von getID() wird $id zugewiesen und if vergleicht ob ein ID-Wert ungleich 0 ermittelt werden konnte, und arbeitet dann mit dem in $id zwischengespeicherten Wert den Anweisungsblock ab.
echo "$verabschiedung $name";