Penso che il tuo codice con queste due modifiche possa funzionare:
Codice PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['btn_articolo'])) {
$ab = NULL;
if(!is_array($_POST['abilitato'])//Nel caso in cui nessun elemento abbia la spunta
$_POST['abilitato']=array();
for ($i = 0; $i < count($_POST['codice']); $i++) {
if (array_search($_POST['codice'][$i],$_POST['abilitato'])!==false) {//MODIFICA
$ab = 1;
} else {
$ab = 0;
}
updateArticoli($_POST['window'][$i], $ab, $_POST['codice'][$i]);
}
}
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input type="submit" value="Submit" name="btn_articolo" />
<?php
foreach (getArticoli() as $var) {
$selected = '';
if ($var['abilitato'] == 1) {
$selected = 'checked="checked"';
}
echo '
';
echo $var['articolo_codice'];
echo ' - <input type="text" name="window[]" value="' . $var['window'] . '" size="3" />';
echo ' - <input type="checkbox" name="abilitato[]" value="' . $var['articolo_codice'] . '" ' . $selected . ' />';
echo '<input type="hidden" name="codice[]" value="' . $var['articolo_codice'] . '" />';
echo '</p>';
}
?>
<input type="submit" value="Submit" name="btn_articolo" />
</form>