Alle geselecteerde checkboxes krijgen?

Status
Niet open voor verdere reacties.

Silpher

Gebruiker
Lid geworden
9 aug 2008
Berichten
83
Hoi,
Ik heb een formulier met checkboxes gemaakt waar ik de value van wil weten wanneer er op de knop gedrukt wordt.
wanneer ik bv. $_POST['fruit']; doe krijg ik de laatst geselecteerde checkbox.
Hier een voorbeeld van wat ik probeer te doen;
PHP:
<?
if(isset($_POST['go'])){
$fruit = $_POST['fruit'];
}
?>
<form method="post">
Selecteer je favorite fruit:<br />
<input type="checkbox" name="fruit" value="appel" id="appel" /><label for="appel">Appel</label><br />
<input type="checkbox" name="fruit" value="peer" id="peer" /><label for="peer">Peer</label><br />
<input type="checkbox" name="fruit" value="sinaasappel" id="sinaasappel" /><label for="sinaasappel">Sinaasappel</label><br />
<input type="submit" name="go" />
</form>
Ik heb het ook al met for-lus en arrays geprobeerd, maar het lukte niet om het in een variable te stoppen om het zo in een database te zetten.
Is er een manier om de values van alle geselecteerde checkboxes te krijgen om die zo in de database te zetten?
 
Van het name-attribuut een array maken dus name="fruit" wijzigen in name="fruit[]"

Snel uitlezen is print_r($_POST['fruit']);
 
Van het name-attribuut een array maken dus name="fruit" wijzigen in name="fruit[]"

Snel uitlezen is print_r($_POST['fruit']);

Dat werkt inderdaad!
Maar hoe kan ik het in een variable krijgen? Ik zou het graag op de manier: "appel,sinaasappel" hebben.
bvd:)
 
Standaard komen ze in een array variabele (dus bijv $_POST['fruit'] = array( 'appel', 'kiwi' ) )

Als je ze als een string aan elkaar wilt plakken kun je de array imploden:

PHP:
$fruit = implode( ', ', $_POST['fruit'] );

Dat plakt alles in een string met komma's er tussen. Houd er wel rekening mee dat dat een stuk lastiger te bewerken is dan de array vorm.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan