echo $begrüßung;
Ups das heißt natürlich auch:
if(in_array($id,$_SESSION['foren']))
Na o.k. Vertipper hin oder her. Du prüfst trotzdem noch auf einen Wert und löschst dann über einen Key. Wenn die Werte in deinem Array nicht gleich den Keys sind, scheint mir das nicht sehr sinnvoll. Und selbst dann noch nicht mal. Wolltest du das vielleicht so haben?
if (isset($_SESSION['foren'][$id])
unset($_SESSION['foren'][$id]);
Wenn es nicht daran liegt, dann setzt bitte zum einen das error_reporting auf E_ALL und lass dir die Variableninhalte ausgeben. Vor allem $_GET/$_POST mit print_r() oder vardump() (und ein <pre> vorher, wegen der besseren Lesbarkeit).
echo "$verabschiedung $name";