它不会在我的数据库中存储值。即使我检查了该项目,它也始终存储“0”值。
这是我的代码:
<input type="checkbox" name="parental" <?php $parental = (isset($_POST['parental'])) ? 0 : 1;?>/>
<input type="hidden" name="parental" />
答案 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":""; ?> />
更改输入类型复选框值,如果我理解的话,在你的情况下没有多大意义。