Hello,
ich habe ein Formular mit einem <select>-Feld, in dem ich mit dem Parameter 'multiple' eine Mehrfachauswahl ermögliche:
Quellcode:
<select name="var" size="7" multiple><option>...</option></select>
Probleme bereitet mir der Wert in $var. Wähle ich nur ein Element aus der Liste aus, wird dieses korrekt als String zurückgegeben. Wähle ich mehr als ein Element aus, wird immer nur das letzte ausgewählte in der Liste zurückgegeben. Der Rückgabetyp ist jedesmal ein String und nicht, wie zu erwarten, ein Array.
PHP legt für das Script nur dann Arrays der gleichnamigen Parameter an, wenn es dazu aufgefordert wurde, anderenfalls wird ein gleichnamiger Parameter durch seinen "Nachfolger" wieder überschrieben.
<select name="var[]" size="7" multiple><option>...</option></select>
<option value="param1">Hier tanzt der Bär</option>
<option value="param2">Keine M&ause in der Tasche</option>
...
</select>
Die ausgewählten Values landen dann z.B. in $_POST["var"][0] und
$_POST["var"][1].
Wenn Du im HTML-Script noch Index-Namen für das Array vergibst, darfst Du _dort_ keine Häkchen setzen, wohl aber später im PHP-Script.
<input type="text" name="text[vorname]">
landet also z.B. in $_POST["text"]["vorname"]
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen