保存时无法在循环中处理未选中的复选框

时间:2015-04-22 16:20:58

标签: php checkbox

我的代码

中的foreach循环中有多个复选框
<form method='POST' action='save.php'>
<?php foreach($problems as $problem): ?>
<input type='text' name="month[]"/>
<input type="checkbox" name="is_increased[]" value="1" />
<?php endforeach; ?>
<input type='submit' value='Submit'/>
</form>

当我保存时,我只获得了已选中复选框的值。 如何获取所有复选框的值,它将是&#39; 0&#39; 0如果取消选中该复选框。 谢谢。

2 个答案:

答案 0 :(得分:0)

未在帖子中发送未选中的复选框。使用以下命令将其保存在save.php中:

if (isset($_POST['checkbox']))
{ it is checked }
else
{ not checked }

答案 1 :(得分:0)

你必须做这样的事情:

<form method='POST' action='save.php'>
<?php $i = 0; foreach($problems as $problem): ?>
<input type='text' name=month[<?php echo $i ?>]/>
<input type='hidden' name="is_increased[<?php echo $i ?>]" value="0" />
<input type="checkbox" name="is_increased[<?php echo $i ?>]" value="1" />
<?php ++$i; endforeach; ?>
<input type='submit' value='Submit'/>
</form>

如果选中复选框,则其值将发送到服务器,但如果未选中,则会将隐藏的值发送到服务器