Wanneer een formulier met een aantal aangevinkte checkboxen wordt gepost, hoe krijg je dan de geselecteerde waardes in een array?

Ben net begonnen met PHP, maar hier kom ik even niet uit.

Bij bijv. het volgende script lukt het niet:

<?php
if($_SERVER['REQUEST_METHOD']=="POST"){
$kleur = ($_POST['kleur']);
foreach ($kleur as $key => $value) { echo "$key: $value<br>"; }
}else{

echo("
<form action=\"\" method=\"post\">
<input type=\"checkbox\" name=\"kleur[]\" value=\"blauw\">Blauw
<input type=\"checkbox\" name=\"kleur[]\" value=\"rood\">Rood
<input type=\"checkbox\" name=\"kleur[]\" value=\"geel\">Geel
<input type=\"submit\" value=\"Kies\">
</form>
");
}
?>
Nee, $kleur is leeg. Dat was ook mijn eerste vraag; hoe ik de variabelen uit de checkboxen in de array $kleur krijg.

(Dat van die labels is trouwens ook interessant, hoor.)
Checkboxen en radioboxen zijn of leeg of 'ON'.

Dus waarschijnlijk moet je daar even op controleren.
Script je van Robert werkt bij mij gewoon hoor, als ik maar minimaal 1 checkbox aanvink. Anders krijg je inderdaad een undefined index na het versturen van het formulier...

ps. Even een stukje netter:
<?php
if($_SERVER['REQUEST_METHOD']=="POST")
{
if(isset($_POST['kleur']))
{
foreach ($_POST['kleur'] as $key => $value)
{
echo $key.': '.$value.'<br />';
}
}
else
{
echo 'Geen kleur opgegeven!';
}
}
else
{
echo '
<form action="" method="post">
<input type="checkbox" name="kleur[]" value="blauw">Blauw
<input type="checkbox" name="kleur[]" value="rood">Rood
<input type="checkbox" name="kleur[]" value="geel">Geel
<input type="submit" value="Kies">
</form>
';
}
?>
Top. Werkt als vanouds. Ik kan weer verder.

Reageren