PHP POST复选框问题

时间:2012-10-26 09:37:04

标签: php post checkbox

我在PHP中使用POST获取一些数据。选中复选框时,没有问题,但是如果其中一行具有未选中的复选框,则所有复选框的顺序都将消失。我试图打印数组,我看到如果未选中复选框,则不会写入其值。

例如,如果我有5行,我检查其中2行。此数组的大小为2而不是5.如何将未选中的复选框转换为“0”值?

<input onchange="saveChanges();" type="checkbox" name="showS[]" value="1">

5 个答案:

答案 0 :(得分:0)

如果您没有在POST请求中提交值(使用isset确定此值),请在适当的位置设置false,否则请使用提交字段的值。

答案 1 :(得分:0)

只需使用此逻辑

 <?php
      $checkbox = isset($_POST['checkbox'])?$_POST['checkbox']:0;
      ....

答案 2 :(得分:0)

当有未选中的复选框时,它没有添加到_POST数组中,所以你根本得不到任何东西..

答案 3 :(得分:0)

为复选框设置适当的值(例如,复选框所关联的数据库表中行的主键列的值)。

处理数组中的,而不是索引。

答案 4 :(得分:0)

你可以做几件事。 一个是通过这样做来实际显示检查的内容:

<input onchange="saveChanges();" type="checkbox" name="showS[value1]" value="1">

您也可以使用唯一标识符,而不是使用数组。另一个选择是对值进行区分,而不是名称。