echo $begrüßung;
Eingeschaltete register_globals sind eine große Sicherheitslücke.
Das ist nicht richtig. register_globals ist nur dann gefährlich, wenn man schlampig programmiert. Wenn man alle verwendeten Variablen vor dem ersten lesenden Gebrauch eindeutig initialisiert, können einem durch register_globals angelegte Variableninhalte nicht gefährlich werden.
Stellt man beim PHP-Programmieren das error_reporting auf E_ALL (und display_errors auf on) werden Zugriffe auf nicht initialisierte Variablen mit einer Hinweis-Meldung angezeigt.
Nichtsdestotrotz ist eine Verwendung der Arrays $_GET und $_POST statt der per register_globals angelegten Variablen empfehlenswert, weil damit eindeutig sichtbar ist, woher man einen bestimmten Wert erwartet. Damit einhergehend sollte man prinzipiell Werte in $_*-Arrays als potenziell gefährlich ansehen.
Um auf dein Problem auch noch kurz konkret einzugehen: Du kannst die GET-Übergabe mit der entsprechenden Superglobal nutzen, also $_GET['id'].
Aber bitte _nicht_
$id = $_GET['id'];
als Übergabe oder Abholung ansehen! Diese Umkopiererei ist überflüssig. Ein Array-Element ist völlig gleichwertig zu "einfachen" Variablen. Durch die Umkopiererei geht vor allem der optische Bezug zu GET und POST verloren. Gewinnen kann man damit nicht viel. Das bisschen weniger Tipparbeit erkauft man sich mit weniger Übersichtlichkeit. Taucht im weiteren Scriptverlauf irgendwo ein $id auf, sieht das recht harmlos aus, $_GET['id'] ist immer eine potenziell unsichere Benutzeringabe zu erkennen.
echo "$verabschiedung $name";