>我有一个正在开发的注册表单。 此表格上有一个名为"服务区"的部分。 发生的情况是用户输入邮政编码和英里半径,然后 Ajax 调用拉入该区域中的所有邮政编码并在页面上动态创建复选框。 然后,用户选择他们服务的城市并提交表单。
PHP 有没有一种简单的方法来知道选中了哪些复选框?我已经阅读了一些关于传递数组的指南和 SO 文章,如下所示:
<input type="checkbox" name="serviceCity[]">
我无法让它工作。每次我尝试时,$_REQUEST["serviceCity"]
都会以undefined,
的形式返回,所以我可以使用foreach来循环。任何帮助将不胜感激。
可以通过 2 种方式创建数组回发,其中一种是显式的:
<input name="checkbox[2]">
或隐含:
<input name"checkbox[]">
在第二种情况下,它们将按照页面中遇到的方式向上编号。
您真正的问题可能是使用在 2004 年或更早的某个地方弃用的$_REQUEST
,因为这是一种访问"GPC"变量的非常不安全的方式,因为它们可能会相互覆盖。尝试改用$_POST
来读取回发变量。
试试这个它会起作用:
<input type="checkbox" name="serviceCity[]" value=""/>
不能使用 $_REQUEST["serviceCity"]
直接访问serviceCity[]
值。在这里,$_POST['serviceCity']
是一个数组,因此您可以通过执行以下操作来获取复选框值:
$cities = $_POST['serviceCity'];
foreach($cities as $service_cities)
{
echo $server_cities;
}