复选框未返回选中状态

时间:2017-07-12 23:46:30

标签: php checkbox

我有以下代码:

<div><input type="checkbox" name="fhaac_publicly_queryable" value="<?php
    if (isset( $_POST ['fhaac_publicly_queryable'])) {
        echo  "checked";
    } elseif ($fhaac_publicly_queryable == "on") {
    echo "checked";
    }
?>" name="fhaac_publicly_queryable" /> Publicly Queryable on a search</div>

我将内容保存到数据库,但在保存时,选中的复选框消失了,我无法弄清楚如何查询以便返回。有任何想法吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

您正在将checked属性写为value属性的值。另外,name属性写入两次。这样做:

<div>
    <input type="checkbox" name="fhaac_publicly_queryable" <?php
if (isset($_POST['fhaac_publicly_queryable'])){
    echo 'checked';
} else if($fhaac_publicly_queryable == "on"){
    echo "checked";
}?>>
    Publicly Queryable on a search
</div>

我仍然鼓励你去其他地方做PHP逻辑,因为这看起来很糟糕。确实如此。要修改if / else,可以使用or||)对其进行改进。