数据库中的PHP复选框,提交后未选中

数据库中的PHP复选框,提交后未选中,php,checkbox,Php,Checkbox,我有这个密码。我需要所有的复选框(采取的数据库)我选择保持选中,即使在提交网页。我怎么做? ?> <?php function connetti(){ $conn=mysql_connect("localhost","user","pass"); mysql_select_db('colours'); return $conn; } ?> <html> <head> <title>Scelta colori</title> <

我有这个密码。我需要所有的复选框(采取的数据库)我选择保持选中,即使在提交网页。我怎么做?
?>
<?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>
?>
彩色雪绒花
彩色雪绒花
本维努托

提交表单后,您可以使用
$\u 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>');  

?>

这是否真的提交到数据库?不,我从数据库中获取值。我唯一的问题是提交后复选框没有被选中。例如,如果我在单击“提交”时选中第一个颜色(红色),我会将红色取消勾选。是的,我知道你在做什么。提交到数据库的代码在哪里?应该在这一页上,是吗?如果将值提交到数据库,则在页面刷新时将加载这些值。因此,如果您成功地将值提交到数据库,那么一切都应该正常工作。或者你不想把它们提交给db?我不想提交给db,我想在同一页上看到,比如粘性表单。啊,那么UnskilledFreak的答案和我最后的修正/评论应该对你有用。如果她提交的内容真的到达了数据库,她不需要使用post变量。如果页面存储在同一个表/加载查询中,页面将再次加载并从db.u r right读取它们,但如果不是,则这只是一个“更新表单”,这是我最简单的方法gues@UnskilledFreak您可以删除
echo
后面的括号,并使用逗号将三元语句与应执行的echo部分分开,而不管三元语句的计算结果如何。因为这样PHP将不正确地解释echo语句。更改为:
echo'.$valore'.
注意逗号,它们很重要。谢谢你提供的信息,我写的和你一样,但这样做是因为问题所有者使用了它。但是,使用类似回声的打印功能是否过时/不推荐使用?isset末尾的内容较少