echo $begrüßung;
if ($value == $_GET['gruppe2_select']&&$_GET['gruppe2_select']!="")
Wenn die Bedingung anscheinend oder offensichtlich nicht greift, prüfe die übergebenen Werte oder auch die einzelnen Teilausdrücke. Das geht am einfachsten mit Kontrollausgaben. echo, print(), vardump() und bei Arrays auch print_r() eignen sich hierbei. Besonders var_dump() ist recht nützlich, weil dieses den Typ (wird hier beides String sein) und die Länge des Inhalts ausgibt. Möglicherweise hast du Leerzeichen in den Werten stehen ...
Ebenfalls nützlich beim PHP-Entwickeln ist es, das error_reporting auf E_ALL zu stellen, weil damit weitere nützliche Hinweise angezeigt werden, beispielsweise Zugriffe auf nicht vorhandene Variablen.
echo "<option value=$value selected> $gruppe";
Attribut-Werte, die nicht nur aus einem Wort bestehen (also Whitespace enthalten) müssen in HTML einfache oder doppelte Anführungszeichen eingefasst werden.
Desweiteren fügst du hier Werte aus der Datenbank ohne weitere Behandlung in HTML-Quelltext ein. Was ist, wenn darin HTML-eigene Zeichen vorkommen? Im schlimmsten Fall führt das zu XSS. Immer wenn du Daten in einen anderen Kontext einfügst - bei Webseiten sind das vor allem Ausgaben in Richtung HTML, SQL-Statements und URLs - solltest du diese Daten dem Kontext entsprechend behandeln. Für HTML gilt, dass die HTML-eigenen Zeichen besonders notiert werden müssen. PHP kennt dazu die Funktion htmlspecialchars(), die das übernimmt.
echo "$verabschiedung $name";