HTML- Formulär - Problem med Multiple

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2008

HTML- Formulär - Problem med Multiple

Jag vill att man ska kunna välja flera länder i en lista och därför väljer jag alternativet "multiple". Därmed kan man markera flera länder. Men sedan när man submittar formuläret så lagras endast ett land i $_POST['Countries'], även om man markerat flera länder i listan.

Hur gör jag för att samtliga länder som markerats skall skickas med som $_POST? Måste dem inte ligga i någon typ av array?

Såhär ser mitt formulär ut:

<select name="countries" size="10" multiple="multiple"/> <?php $countries = mysql_query("SELECT * FROM countries"); //Tar fram samtliga länder i countries tabellen while($rowCountries = mysql_fetch_array($countries)) { echo '<option>' . $rowCountries['country'] . '</option>'; } ?>

Sedan vill jag veta vilka länder som markerats i listan och skriva ut dem:

if (isset($_POST['countries'])) { $countries = $_POST['countries']; } else { $countries = 0; } echo $countries;

echo $countries innehåller endast ett land, även om jag markerat flera länder i listan.

$_POST['countries'], måste ju innehålla samtliga länder som markerats i multiple listan, hur får jag ut dem?

//Tack på förhand!

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2007

Först måste jag påpeka att du har avslutat select-elementet direkt, vilket du nog inte ville. Bort med / från den taggen och sluta skicka din XHTML som text/html.

Sen tror jag att det kan hjälpa om du sätter name till ”countries[]” istället, det bör bli en array i PHP då ($_POST['countries'][0] etc. lär innehålla dina valda länder).

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2008

Tack, det fungerar!