17. juni 2006 - 11:18
Der er
7 kommentarer og 1 løsning
Checkboxes giver kun en værdi
Jeg har følgende kode: <input type="submit" value="Save" /> </form> TEST <form action="?modul=addgame&sub=write" method="post"> <br /> <input type="checkbox" name="format" value="1" /> <input type="checkbox" name="format" value="2" /> <input type="checkbox" name="format" value="3" /> <input type="submit" value="Save" /> </form> <?php $spil = explode(",", $_POST['format']); foreach ($spil as $value) { echo $value; } ?> Det jeg gerne vil opnå at at hvis alle 3 checkboxe er krydset af, skal jeg have værdien "1,2,3" som jeg derefter kan dele op i mit array. MEN jeg får kun den sidste værdi med, når jeg poster, hvis alle er valgt, er værdien feks "3". Hvad gør jeg galt, det har virket for mig i ColdFusion og ASP tidligere.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Ved at tilføje en [] til navnet: <form action="?modul=addgame&sub=write" method="post"> <br /> <input type="checkbox" name="format[]" value="1" /> <input type="checkbox" name="format[]" value="2" /> <input type="checkbox" name="format[]" value="3" /> <input type="submit" value="Save" /> </form>
... kan PHP selv finde ud af at lave den til et array: <?php // Ikke nødvendig -- $spil = explode(",", $_POST['format']); foreach ($_POST['format'] as $value) { echo $value; } ?>
virker ikke helt? TEST <form action="?modul=addgame&sub=write" method="post"> <br /> <input type="checkbox" name="format[]" value="1" /> <input type="checkbox" name="format[]" value="2" /> <input type="checkbox" name="format[]" value="3" /> <input type="submit" value="Save" /> </form> <?php $spil = explode(",", $_POST['format']); foreach ($spil as $value) { echo $value; } ?> Udskriver nu: "Array" en gang
okay, nu virker det, skrev imens du tilføjede sidste kommentar, tak for hjælpen
Det er mit bud:: :P TEST <form action="" method="post"> <br /> <input type="checkbox" name="format[]" value="1" /> <input type="checkbox" name="format[]" value="2" /> <input type="checkbox" name="format[]" value="3" /> <input type="submit" value="Save" /> </form> <?php $str_format = $_POST[format]; $format_arr = ""; $i = 0; $q = count($str_format); while($i < $q){ $format_arr .= $str_format[$i] .","; $i = $i + 1; } echo $format_arr; ?>
Jeg ville nu foretrække en for-løkke i stedet for en while: <?php $str_format = $_POST[format]; $format_arr = ""; for ($i; $i<count($str_format); $i++) { $format_arr .= $str_format[$i] . ","; } echo $format_arr; ?>
Skulle have været: for ($i=0; $i<count($str_format); $i++)
Vi tilbyder markedets bedste kurser inden for webudvikling