如何使用具有相同名称的多个表单输入?

时间:2013-02-18 14:43:35

标签: php html forms query-string html-input

我有几个复选框(我不知道它们的数量)是从表单中的循环创建的。

<form>
<input type="checkbox" name="id" value="id">
<input type="checkbox" name="id" value="id">
...//create in a loop
<input type="checkbox" name="id" value="id">
</form>

我的问题是如何阅读它们?如果我使用<?php $_REQUEST['id']; ?>,它只会读取最后一个复选框。

2 个答案:

答案 0 :(得分:13)

使用输入数组:

<input type="checkbox" name="id[]" value="id_a">
<input type="checkbox" name="id[]" value="id_b">
<input type="checkbox" name="id[]" value="id_c">
<!--                           ^^ this makes it an array -->
可以访问

$_REQUEST['id']

foreach($_REQUEST['id'] as $id)
{
    echo $id;
}

输出

  

ID_A
  ID_B
  id_c

附注:这适用于$_POST$_GET(不仅仅是$_REQUEST)。一般来说,如果可能,应尽量避免使用$_REQUEST

答案 1 :(得分:-4)

为您的复选框使用唯一ID,例如

<form>
<input type="checkbox" name="id1" value="value1">
<input type="checkbox" name="id2" value="value2">
...//create in a loop
<input type="checkbox" name="id3" value="value3">
</form>