Per prima cosa verifica che nel db hai effettivamente l'array serializzato. Se hai impostato una lunghezza troppo corta del campo è possibile che la stringa venga tagliata.
Inoltre il manuale php consiglia di salvarlo in un campo di tipo blob invece che di testo.
e ti consiglio di fare così per "riprendere" i checkbox:
Codice PHP:<?php
...
$strsql = "SELECT checkbox FROM campi";
$rs = mysqli_query($link, $strsql) or die("Errore query database: " . mysqli_error($link));
while ($riga = mysqli_fetch_array($rs)):
$checked = array();
$ck=unserialize($riga['checkbox']);
foreach($ck as $value){
$checked[$value] = true;
}
?>
<form>
<input type = "checkbox" name = "ck[]" value = "cucina"
<?php echo isset($checked['cucina'])? 'checked' : '' ?> >cucina <br>
<input type = "checkbox" name= "ck[]" value = "calcio"
<?php echo isset($checked['calcio'])? 'checked' : '' ?> >calcio<br>
<input type = "checkbox" name= "ck[]" value = "auto"
<?php echo isset($checked['auto'])? 'checked' : '' ?> >auto<br>
</form>
<?php endwhile ?>

Rispondi quotando
