pokial mas konecny pocet checkboxov, tak v PHP lahko overis cez isset($_POST['nazov_checkboxu'])
ak to chces ako pole, tak v html staci dat nazov inputu: name="nazov[]". Potom sa ti to posle ako pole.
Problem je, ze HTML neposiela nezaskrtnute checkboxy.
Ja to riesim tak, ze cez javascript urobim post ale predtym nastavim value na 1 vsetky zaskrtnutym checkboxom a 0 nezaskrtnutym. zaroven nezaskrtnute nastavim na checked.
Tuto je kod javascriptu:
function yesno(q) {
qc = document.getElementById(q).checked
if(!qc) {document.getElementById(q).checked = 'true'; document.getElementById(q).value = "0"} else {document.getElementById(q).value = "1" }
}
function potvrdenie()
{
var elements = document.getElementsByTagName('input');
for (var i=0; i<elements.length; i++) {
if (elements[i].type=="checkbox") {
yesno(elements[i].id);
}
}
document.getElementById("submit_tlacidlo").submit();
}
dolezite je, aby vo forme si mal namiesto tlacidla typu submit obycajny button s id="submit_tlacidlo" (na ktory sa potom JS odkazuje. napriklad takto:<input class="submit_tlacidlo" type="button" value="Odoslat" onclick="potvrdenie()">
samozrejme nesmies zabudnut ani na to, aby kazdy input typu checkbox mal jednoznacne ID.