John, er meget simpelt, kigger du på hver name attribute i dine checkbox's kan du se at de hedder "color[]" knæk parentesen, dette definere at input elementet kan returnere flere værdier, de bliver gemt ligesom ting du gemmer i et array.
Dette betyder at den første afkrydset checkbox kommer til at ligge i $_POST['color'][0] og ikke bare ren $color som i din kode. (med mindre man selvfølgelig har slået register_globals til i ens php ini, hvilket man ikke har da dette er et større sikkerheds hul)
Den nemmeste måde at løbe sådan et array igennem er ved at gøre følgende
<?php
foreach ($_POST['color'] AS $color) /* $color er ikke den samme variable som oppe i dit eksempel */
{
echo $color . '<br/>';
}
?>
Dette denne kode gør er at gennemløbe array'et en key value adgangen indtil der ikke er flere værdier i arrayet.
Håber dette kunne hjælpe dig