Meer dan 1 waarde mee sturen met een checkbox
Ik heb nu bijvoorbeeld de volgende code
<input type='checkbox' name='waarden[]' value='3'>
Nu wil ik meer dan 1 waarde mee geven met 1 checkbox dus bijvoorbeeld dit:
<input type='checkbox' name='waarden[]' value='gegeven1=3&gegeven2=6&gegeven3=5'>
Kan iemand mij uitleggen hoe dit werkt?
Alvast bedankt
Ka je mij vertellen wat je wilt bereiken? Heb je niks aan een multiple selectbox?
- Aar - op 06/01/2014 19:47:48:
Ka je mij vertellen wat je wilt bereiken? Heb je niks aan een multiple selectbox?
Ik heb een form waar ik rechten op selecteer. Dit ziet er als volgt uit:
categorie Rechten
Categorie 1 checkbox
categorie 2 checkbox
enz
Ger van Steenderen op 06/01/2014 20:18:43:
Op deze manier krijg ik vier checkboxen te zien op mijn form. Het is de bedoeling dat ik 1 checkbox krijg met hieraan meerdere waarden.
Gewijzigd op 06/01/2014 20:25:19 door Danny kempen
Code (php)
1
2
2
<input type="checkbox" name="waarde[]" value="lezen:true">Lezen
<input type="checkbox" name="waarde[]" value="lezen:true|schrijven:true">Schrijven
<input type="checkbox" name="waarde[]" value="lezen:true|schrijven:true">Schrijven
Als je in html een checkbox input een naam geeft met blokhaken, dan wordt dit als een array meegeven aan de post, met daarin elementen met de waardes van de checkboxen die zijn aangevinkt.
Dat is toch veel makkelijker werken als in php gaan lopen klooien met explodes etc.
Ger van Steenderen op 06/01/2014 20:46:08:
Als je in html een checkbox input een naam geeft met blokhaken, dan wordt dit als een array meegeven aan de post, met daarin elementen met de waardes van de checkboxen die zijn aangevinkt.
Dat is toch veel makkelijker werken als in php gaan lopen klooien met explodes etc.
Code (php)
1
2
2
<input type="checkbox" name="waarde[]" value="lezen:true">Lezen
<input type="checkbox" name="waarde[]" value="lezen:true|schrijven:true">Schrijven
<input type="checkbox" name="waarde[]" value="lezen:true|schrijven:true">Schrijven
Als je in html een checkbox input een naam geeft met blokhaken, dan wordt dit als een array meegeven aan de post, met daarin elementen met de waardes van de checkboxen die zijn aangevinkt.
Dat is toch veel makkelijker werken als in php gaan lopen klooien met explodes etc.
Ik heb nu de volgende checkbox gemaakt:
<input type='checkbox' name='rechten' value='account=1|hoofdmenuBeheer=1'>
Opvangen doe ik zo maar geeft geen resultaat. Wat doe ik precies fout?
In ieder geval is het zo dat als jij name="rechten" doet $_POST['rechten'] geen array is (dus kan je geen foreach doen).
Ger van Steenderen op 06/01/2014 21:51:23:
Geef eens wat uitleg van wat je wilt bereiken.
In ieder geval is het zo dat als jij name="rechten" doet $_POST['rechten'] geen array is (dus kan je geen foreach doen).
In ieder geval is het zo dat als jij name="rechten" doet $_POST['rechten'] geen array is (dus kan je geen foreach doen).
Ik denk idd dat ik niet helemaal duidelijk ben. Wanneer ik een checkbox geselecteerd heb moet ik hiervan de volgende gegevens kunnen ontvangen(Voorbeeld)
<input type=checkbox name=naam value=test1=waarde1;test2=waarde2;>
uitkomst zou dan zoiets zijn als: naam[test1]; of naam[test2];
Ik weet niet of het nu iets duidelijker is:S
Het is niet zo moeilijk om meerdere waardes aan een input toe te kennen:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
//html
<input type="checkbox" name="rechten" value='{"waarde1": "1", "waarde2": "3"}'>
<?php
// je kan dit dan in php uitlezen met:
$values = json_decode($_POST['rechten'], true) // laatste parameter false of weggelaten geeft een object terug
?>
<input type="checkbox" name="rechten" value='{"waarde1": "1", "waarde2": "3"}'>
<?php
// je kan dit dan in php uitlezen met:
$values = json_decode($_POST['rechten'], true) // laatste parameter false of weggelaten geeft een object terug
?>
De vraag is of het niet wat makkelijker kan
stuur gewoon een soort van id mee. De server houdt bij welke id bij welke gegevens horen.
Waarom zou je de checkbox wel kunnen genereren; maar niet weten welke checkbox welke gegevens bevat?
Op basis waarvan genereer je die checkboxes?
----
Nu ja; dat laatste van Ger is de beste manier om meerdere gegevens te coderen tot 1 string.
Gewijzigd op 07/01/2014 13:54:37 door Kris Peeters