未选中复选框时,脚本不会发布

时间:2017-07-13 03:34:14

标签: php html

我正在尝试将值复选框的值发布到我的数据库中。如果选中了所有复选框,则复选框会将值1发送到数据库。但是当没有选中复选框时,帖子就不起作用了。

在将数据发布到数据库的PHP页面上,对于未选中的复选框,我得到Notice: Undefined index。 Witch表示未选中的文本框正在发送空帖。

有没有办法解决这个问题?我可以为未选择的文本框定义值吗?

以下是我的文本框:

<input type="checkbox" name="psv1" id="psv1" value="1" class="flat" />
<input type="checkbox" name="psv2" id="psv2" value="1" class="flat" />
<input type="checkbox" name="psv3" id="psv3" value="1" class="flat" />
<input type="checkbox" name="psv4" id="psv4" value="1" class="flat" />
<input type="checkbox" name="psv5" id="psv5" value="1" class="flat" />

如您所见,文本框在选中时会发布值1

我试图在PHP脚本中使用以下内容获取文本框的值:

$psv1 = $_POST['psv1'] ;
$psv2 = $_POST['psv2'] ;
$psv3 = $_POST['psv3'] ;
$psv4 = $_POST['psv4'] ;
$psv5 = $_POST['psv5'] ;

我为未选中的变量获取Notice: Undefined index

1 个答案:

答案 0 :(得分:3)

除非选中复选框,否则不会提交复选框。没有检查时它们有什么价值你在哪里指定它。你没有。最简单的方法是检查它们是否已设置,然后设置默认值。

listForShort.sorted(by: { ( s1, s2) in s1 < s2 })

这(三元形式)相当于

listForShort.sorted { $0 < $1 }

它只是简短的形式,在PHP7中我认为它们具有空合并运算符,这可能使它更短的语法。

PHP ternary operator vs null coalescing operator

但是由于我主要使用生产代码编程,我们还没有转到PHP7,所以我还没有深入研究过它。