checkbox array probleem
Ik heb een formulier waarin een checkbox zit waar men de mogelijkheid heeft om meerdere opties aan te vinken.
Nu wil ik graag controleren welke opties de bezoeker aangevinkt heeft en adhv elke optie word er een bepaald script uitgevoerd.
Nu heb ik de waardes in een array gegooid, maar ik kom er niet uit hoe ik die waardes er stuk voor stuk weer uit kan halen.
Als ik foreach gebruik haal ik alle waardes eruit, maar ik wil weten welke opties er precies zijn aangevinkt en welke niet :
-----------------------------------
voorbeeld checkbox
-----------------------------------
<INPUT TYPE="checkbox" NAME="fiets[]" VALUE="1">1
<INPUT TYPE="checkbox" NAME="fiets[]" VALUE="2">2
<INPUT TYPE="checkbox" NAME="fiets[]" VALUE="3">3
<INPUT TYPE="checkbox" NAME="fiets[]" VALUE="4">4
-------------------------------------------------------------------------------
stel dat optie 1 en 3 aangevinkt zijn dan moet hij het volgende doen
--------------------------------------------------------------------------------
Code (php)
-----------------------------------
-------------------------------------
hoe kan ik nou die 4 opties uit de checkbox uit de array halen en afzonderlijk controleren of ze wel of niet zijn aangevinkt ??
ps. het is niet mogelijk om zonder een array te werken, aangezien de array word meegestuurd via een link en anders de link enorm lang word indien er bijvoorbeeld 300 fietsen aangevinkt kunnen worden
{
echo $fiets." was aangevinkt" ;
}
dus daarom kijken wat er in zit. als er een 4 in zit dan dat script runnen.
dus zoiets denk ik
if array_key_exists($fiets,1){
doe dit
}
if array_key_exists($fiets,2){
doe dit
}
zoiets denk ik?
echo $fiets[1]
echo $fiets[2]
@michael : jouw idee is eigenlijk heel goed, maar ik krijg dan een probleem indien er meer dan 10 opties zijn, want als dan komt bijvoorbeeld de 1 vaker voor.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
foreach($_POST['fiets'] as $key => $value) {
// hier komen alle checkboxen die gechecked zijn langs
// $key is de sleutel in de array (en dus het nummer van de checkbox)
// $value is meestal true
}
?>
foreach($_POST['fiets'] as $key => $value) {
// hier komen alle checkboxen die gechecked zijn langs
// $key is de sleutel in de array (en dus het nummer van de checkbox)
// $value is meestal true
}
?>
jezpur maar stel dat er 3 checkboxen zijn aangevinkt, hoe controleer ik dan bijvoorbeeld alleen het tweede item wat aangevinkt is ?
Robin schreef op 27.05.2008 18:53:
@Jacco : ja dat wil ik dus juist net niet omdat je hier alle waarden er in 1 keer uitspuugt. ik zoek dus een manier waarop ik elke optie op zich kan uitlezen, dus iets als :
echo $fiets[1]
echo $fiets[2]
@michael : jouw idee is eigenlijk heel goed, maar ik krijg dan een probleem indien er meer dan 10 opties zijn, want als dan komt bijvoorbeeld de 1 vaker voor.
echo $fiets[1]
echo $fiets[2]
@michael : jouw idee is eigenlijk heel goed, maar ik krijg dan een probleem indien er meer dan 10 opties zijn, want als dan komt bijvoorbeeld de 1 vaker voor.
dan kan je worden gebruiken. een twee, drie, vier of a,b,c,d,e,f :)