Hallo,
gestern war ich noch
zuversichtlich die Aufgabe selbst zu lösen. Aber nun, nach der Suche in diversen Foren und bei Google, fehlt mir leider immer noch die Lösung.
Ich bekomme die Multiauswahl eines Listenfeldes nicht auf die Folgeseite. Es wird in den Beiträgen immer auf das Funktionspaar serialize/unserialize verwiesen. Aber wie stelle ich es bei meinem Listenfeld an? Bei SESSION weiß ich auch nicht, wie ich die Werte aus dem Listenfeld in einer entsprechenden Variable speichern kann.
Momentan sieht es so aus:
PHP-Code:
<?PHP
$seite = 508;
echo "Übergabe: ";
print_r($_POST);
echo "<br>";
$fkt = (isset($_GET['fkt'])) ? $_GET['fkt'] : "X";
if ($fkt=="X")
{echo "<form name='test' method='post' action='index.php?id=" . $seite . "&fkt=A'>";
echo "<select name='Listenfeld[]' multiple='multiple' size='15'>";
echo "<option>Eins";
echo "<option>Zwei";
echo "<option>Drei";
echo "<option>Vier";
echo "<option>Fünf";
echo "<option>Sechs";
echo "<option>Sieben";
echo "<option>Acht";
echo "<option>Neun";
echo "<option>Zehn";
echo "<option>Els";
echo "<option>Zwölf";
echo "<option>Dreizehn";
echo "<option>Vierzehn";
echo "<option>Fünfzehn";
echo "<option>Sechszehn";
echo "<option>Siebzehn";
echo "</select>";
echo "<input type='submit'></form>";
}
else
{
//die Anweisung kann [B]nicht[/B] funktionieren, da ich kein serilize() habe!
$Wert[]=unserialize($_POST['Listenfeld']);
// aber auch $Wert[]=$_POST['Listenfeld']; funktioniert nicht
$anz=count($Wert);
echo "Es sind " . $anz . " Einträge übergeben worden.";
}
?>
Ich bekomme am Ende nichts ausgegeben. Die Ausgabe von print_r($_POST) sieht so aus:
Zitat:
Array ([Listenfeld] => Array ( [0] => Zwei [1] => Drei [2] => Vier [3] => Fünf ) )
|
Die Übergabe erfolgt nach den Hinweisen in oben verlinkten Beitrag. Irgendwie fehlt mir hier der Groschen für die Mark. In der FAQ wird zu diesem Thema auf die SESSION verwiesen, nur wie bekomme ich dann die gewählten Einträge aus dem Listenfeld nach dem Absenden da hinein?
Gruß und Dank Rainer