Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用多个复选框处理PHP表单_Php_Html_Checkbox - Fatal编程技术网

使用多个复选框处理PHP表单

使用多个复选框处理PHP表单,php,html,checkbox,Php,Html,Checkbox,我有一个页面,可以从数据库中获取问题并自动生成调查页面。然后使用POST将这些数据发送到相同的表单。然后,代码将问题分解为复选框/单选按钮类型,并适当存储答案 这非常适用于我的单选按钮类型问题,但是对于复选框类型,只有最后选择的选项出现在$\u POST数据中。 这是生成的示例复选框问题的HTML- 1 . Question One <br/> <fieldset> <label for="check[0]"> <input

我有一个页面,可以从数据库中获取问题并自动生成调查页面。然后使用POST将这些数据发送到相同的表单。然后,代码将问题分解为复选框/单选按钮类型,并适当存储答案

这非常适用于我的单选按钮类型问题,但是对于复选框类型,只有最后选择的选项出现在$\u POST数据中。

这是生成的示例复选框问题的HTML-

1 . Question One 
  <br/>
<fieldset>

        <label for="check[0]">
  <input type="checkbox" class="checkbox" id="check[0]" name="check[0]" value="Opt One" required="required" minlength="2">Opt One 
  </label>

   <br />
      <label for="check[1]"><input type="checkbox" class="checkbox" id="check[1]" name="check[0]" value="Opt Two">Opt Two 
  </label>

   <br />
      <label for="check[2]"><input type="checkbox" class="checkbox" id="check[2]" name="check[0]" value="Opt Three">Opt Three 
  </label>

   <br />
      <label for="check[3]"><input type="checkbox" class="checkbox" id="check[3]" name="check[0]" value="Opt Four">Opt Four 
  </label>

   <br />
    <label for="0" class="error" style="display:none"> Please select at least one option. </label>
  <br/>
</fieldset>
这基本上意味着问题ID 0选择的选项是选项二(这里遗漏了选项一)


如果需要,我可以显示更多的代码,但现在我觉得这与我的HTML语法有关。

你可以使用
name=check[]
,然后查看你在
$\u POST

为复选框指定不同的名称并尝试…如果我只有一个问题,这会起作用,对吗?如果我有第二个问题,它不会发生冲突吗?它会生成一个包含所选选项的数组。如果我使用name=“check0[]”和name=“check1[]”,这也会起作用吗?更新:好吧,这样就行了,但是我给它命名的方式是一种糟糕的编程实践还是这样?
<input type="checkbox" name="check[]" value="Opt One" checked>
<input type="checkbox" name="check[]" value="Opt Two" checked>
<input type="checkbox" name="check[]" value="Opt Three" checked>

<?php print_r( $_POST["check"] ); ?>
<input type="checkbox" name="check[]" value="Opt One" checked>
<input type="checkbox" name="check[]" value="Opt Two" checked>
<input type="checkbox" name="check[]" value="Opt Three" checked>

<?php print_r( $_POST["check"] ); ?>
Array ( [0] => Opt One, [1] => Opt Two, [2] => Opt Three )