Blogg. Webboken. Pinboard, Last.fm, Facebook, Kongregate. W3fools.
Validera din HTML, men skryt inte om att du gör det.
Använd HTML5 och kom ihåg semantiken!
HTML- Formulär - Problem med Multiple
Visa signatur
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!
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).
Blogg. Webboken. Pinboard, Last.fm, Facebook, Kongregate. W3fools.
Validera din HTML, men skryt inte om att du gör det.
Använd HTML5 och kom ihåg semantiken!
Tack, det fungerar!
Copyright © 1999–2024 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.