Salve a tutti, ho un problema con i valori checkbox che non riesco a recuperare.

Allora ho una pagina di visualizzazione degli utenti e per ognuno di essi mostro un checkbox xhe indica se iscritto o meno alla mailinglist. Tramite un controllo if vedo se il valore del db è =0 metto senza spunta altrimenti spuntato e fin qui tutto ok. Una volta però che faccio l'edit non riesco a recuperare correttamente valori dei checkbox.

Vi posto un pò di codice per farvi capire il mio problema.

Pagina visualizzazione utenti

codice:
<?php if ($row[8] == 1) { ?>
     <td width="8%"><input name="MailingList[]" type="checkbox" value="1" checked="checked" /></td>
 <?php }
     else{ ?>
     <td width="8%"><input name="MailingList[]" type="checkbox" value="1"  /></td>
 <?php } ?>
Pagina di edit
codice:
$MailingList = $_POST['MailingList']; //vettore valori checkbox

$id = $_POST['Id_Users']; //vettore id utente
$n = count($id); //conto quanti utenti sono...
 
$a = new MailingList();

for ($i=0;$i<$n;$i++) {
     $MailingListValue = isset($MailingList[$i]) ? $MailingList[$i] : '0';	
     $a->Edit_mailinglist($id[$i], $MailingListValue);
}

credo che tutte le prove che ho fatto mi abbiano rimbambito un pohino, mi date una mano??

Mi capita che a volte mi aggiorna un campo che non deve aggiornare.

Grazie Frank