来自db的PHP Checkbox,提交后未经检查

时间:2014-11-12 10:15:14

标签: php checkbox

我有这个代码。我需要我选择的所有复选框(由数据库采取),即使在提交页面后仍然检查。我怎么能这样做?     

?>
<?php
function connetti(){
$conn=mysql_connect("localhost","user","pass");
mysql_select_db('colours');
return $conn;
}
?>
<html>
<head>
<title>Scelta colori</title>
<meta charset="utf-8">
</head>
<body>
    <h1>Scelta colori</h1>
    <h1>Benvenuto <?php echo $_SESSION['user']; ?></h1><br>
    <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
        <?php
            $conn=connetti();
            $sql="SELECT tonalita FROM colori";
            $risultato=mysql_query($sql);
            while ($row=mysql_fetch_array($risultato)){
            $valore=$row['tonalita'];
            echo('<input type="checkbox"  value="'.$valore.'" name="colori[]">'.$valore.'</input><br>');  
                    }
            mysql_free_result($risultato);
            mysql_close($conn);
        ?>


        <input type="submit" value="Invia">
        <input type="reset" value="Annulla">
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您可以在提交表单后使用$_POST vars并使用$valore

进行检查
<?php

echo('<input type="checkbox"  value="'.$valore.'" name="colori['.$valore.']"'.((isset($_POST["colori"][$valore])&&$_POST["colori"][$valore]==$valore)?' checked="checked"':"").'>'.$valore.'</input><br>');  

?>

取消测试,但应该工作

编辑:在name-attr上出现错误并修复了非settet索引的问题。测试php5