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

Ehs*_*san 4 html php forms html-input query-string

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

<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>
Run Code Online (Sandbox Code Playgroud)

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

MrC*_*ode 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 -->
Run Code Online (Sandbox Code Playgroud)

$_REQUEST['id'] 可以访问:

foreach($_REQUEST['id'] as $id)
{
    echo $id;
}
Run Code Online (Sandbox Code Playgroud)

输出

id_a
id_b
id_c

旁注:这适用于$_POST$_GET(不仅仅是$_REQUEST).一般来说,尽管$_REQUEST应该尽可能避免.