如何将复选框值存储为1和0

时间:2014-02-25 11:27:05

标签: php html

它不会在我的数据库中存储值。即使我检查了该项目,它也始终存储“0”值。

这是我的代码:

          <input type="checkbox" name="parental" <?php $parental = (isset($_POST['parental'])) ? 0 : 1;?>/>
                <input type="hidden" name="parental" />

2 个答案:

答案 0 :(得分:2)

您忘记了属性value,并在PHP代码中添加了echo

<input type="checkbox" name="parental" value="<?php echo $parental = (isset($_POST['parental'])) ? 0 : 1;?>" />

为什么你有这个元素?

<input type="hidden" name="parental" />

它将覆盖复选框,因为它们具有相同的名称,要么删除隐藏的元素,要么更改名称

答案 1 :(得分:0)

要清楚,复选框值应该始终相同,在您的情况1中,因为复选框在选中时传递它的值,而在复选时不传递它。此外,如果你想使用隐藏字段,你应该在复选框之前使用它,所以如果没有选中复选框,它仍然会通过0.

例如:

<input type="hidden" name="parental" value="0" />
<input type="checkbox" name="parental" value="1" />

如果勾选复选框,$ _POST [“parental”]将等于1,否则它将等于0.但是,提交后有更好的方法可以在php中实现此目的。

另外,关于你的条件,我想你想检查一下,如果parental为1,你应该这样做,例如:

<input type="checkbox" name="parental" value="1" <? echo $_POST["parental"]=="1"?"checked":""; ?> />

更改输入类型复选框值,如果我理解的话,在你的情况下没有多大意义。