echo $begrüßung;
Nein ich meinte:
<select name"auswahl" size=5 multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
...
</select>wenn ich jetzt 1 und 2 markiere und danach $_POST[auswahl] auslese, steht da nur 1 drin.
Wie lese ich es richtig aus?
Wenn du dir ansiehst, was der Browser überträgt (stell mal dein Formular zum Testen auf GET um, dann siehst du es in der URL-Zeile), wirst du feststellen, dass ?auswahl=1&auswahl=2 übertragen wird. In $_GET/$_POST steht dann der zuletzt übertragene Wert, weil PHP beim Anlegen der $_GET/$_POST-Einträge den vorigen Wert mit gleichem Namen überschreibt. Es macht da nicht einfach so von sich aus ein Array aus dem ersten Wert und hängt dann den zweiten an. Das musst du ihm durch die Wahl eines dafür geeigneten name-Wertes mitteilen.
P.S. Danke für den Tip, dass ich Namen auch als array setzen kann, wusste ich noch nicht
Das wirkt auch in deinem Fall (und steht auch in der PHP-FAQ beschrieben: How do I get all the results from a select multiple HTML tag?).
echo "$verabschiedung $name";