Jeśli pole wyboru nie jest zaznaczone, nie zostanie wysłane, więc ustawienie jego wartości na 0, jeśli nie jest zaznaczone, nie pomoże - zawsze zwróci NULL.
Można to łatwo naprawić na dwa sposoby:
1) Przyjmij NULL w parametrach PHP oznacza, że pole wyboru nie jest zaznaczone. Jeśli pole wyboru nie zawsze istnieje na stronie, może to być problematyczne. Sądząc po tym, istnieje zmienna liczba pól wyboru, więc to prawdopodobnie nie zadziała.
2) Dodaj ukryte wejście, które ma taką samą nazwę jak pole wyboru z wartością 0 PRZED pole wyboru. Jeśli pole wyboru nie jest zaznaczone, zostanie użyta wartość pola ukrytego, jeśli jest zaznaczone, zostanie użyta wartość pola wyboru.
<input type="hidden" name="checkbox_1" value="0">
<input type="checkbox" name="checkbox_1" value="1">
Uwaga:Jeśli twoje imiona są w formie tablicowej (tj. mają w nawiasach kwadratowych), to nie zadziała, ponieważ ukryte pola również zwiększą liczbę tablic.