Tom: Formular Liste komplett übergeben

Beitrag lesen

Hello,

Auch funzt es nicht, wenn ich beim Listenfeld "multiple" angebe und mehrere markiere. Es wird immer nur ein Element übergeben.
-> count($_REQUEST['Liste']); ergibt immer 1.

Es funktioniert schon...

<select name="element" multiple>

führt dazu, dass alle Optionen dieses Selects mit demselben Namen übergeben werden. Das bedeutet, dass der Browser lauter geliche Name=Value-Pärchen bastelt und im Post-Body an den Server verschickt.

Angucken könntest Du Dir das, wenn Du mal den Input-Stream ansprichst

$fh = fopen('php://input','r'),
    $input = fread($fh, 4096);
    fclose($fh);

echo "<pre>\r\n";
    echo htmlspecialchars($input);
    echo "</pre>\r\n";

PHP legt nun eine Variable an und überschreibt diese dann wieder, wenn dre nächste Parameter mit demselben bezeichner auftaucht.

Um das Problem zu lösen, solltest Du den Browser bitten, ein Array für PHP vorzubereiten

<select name="element[]" multiple>

Nun wird PHP explizit darauf aufmerksam gemacht, dass mehrere Elemente mit demselben Basisnamen kommen und legt diese gleich als Array an.

Ein harzliches Glückauf

Tom vom Berg
http://bergpost.annerschbarrich.de

--
Nur selber lernen macht schlau