Quests Sohn
Mitglied
Hallo Foum,
ich möchte in einem dynamischen Formular über ein Select mit Mehrfachwahl (multiple)
Daten abfragen und in einer Session speichern. Bei einer Falscheingabe (in anderen
Feldern) soll das dynamische Formular mit den zuvor ausgewählten Werten wieder
ausgeben werden.
Hier ist der frageliche Ausschnitt aus dem Formular:
Die eingegebenen Werte werden auch korrekt als Array in der Session gespeichert,
doch wenn die Seite erneut angezeigt wird, ist immer nur das letzte der ausgewählten
Optionen als "selected" markiert.
Was ist mein Fehler, ich finde ihn nicht ... ?!
ich möchte in einem dynamischen Formular über ein Select mit Mehrfachwahl (multiple)
Daten abfragen und in einer Session speichern. Bei einer Falscheingabe (in anderen
Feldern) soll das dynamische Formular mit den zuvor ausgewählten Werten wieder
ausgeben werden.
Hier ist der frageliche Ausschnitt aus dem Formular:
Code:
<select name="Kategorien[]" id="Kategorien" size="4" multiple>
<?php
$res_k = mysql_query("SELECT * FROM kategorien");
while ($k = mysql_fetch_array($res_k)) {
foreach($_SESSION['Kategorien'] as $kval) {
if ($kval == $k['kategorie']) {
echo "<option value=\"".$k['kategorie']."\" selected>".htmlentities($k['Name'])."</option>";
} else {
echo "<option value=\"".$k['kategorie']."\">".htmlentities($k['Name'])."</option>";
}
}
}
?></select>
Die eingegebenen Werte werden auch korrekt als Array in der Session gespeichert,
doch wenn die Seite erneut angezeigt wird, ist immer nur das letzte der ausgewählten
Optionen als "selected" markiert.
Was ist mein Fehler, ich finde ihn nicht ... ?!