在 php 中通过 POST 进行多个同名输入

2022-08-30 07:00:54

是否可以获取多个同名的输入进行发布,然后从PHP访问它们?这个想法是这样的:我有一个表单,允许输入无限数量的物理地址以及其他信息。如果我只是在几个条目中为每个字段指定相同的名称,并通过邮寄提交该数据,PHP是否能够访问它?

例如,假设我在一个名为“xyz”的页面上有五个输入,我想使用PHP访问它们。我可以做这样的事情吗:

    $_POST['xyz'][0]

如果是这样,这将使我的生活变得容易十倍,因为我可以通过表单发送无限量的信息,并且只需循环浏览名称为“xyz”的项目数组,即可由服务器处理它。


答案 1

更改输入的名称:

<input name="xyz[]" value="Lorem" />
<input name="xyz[]" value="ipsum"  />
<input name="xyz[]" value="dolor" />
<input name="xyz[]" value="sit" />
<input name="xyz[]" value="amet" />

然后:

$_POST['xyz'][0] == 'Lorem'
$_POST['xyz'][4] == 'amet'

如果是这样,这将使我的生活变得容易十倍,因为我可以通过表单发送无限量的信息,并且只需循环浏览名称为“xyz”的项目数组,即可由服务器处理它。

请注意,这可能是错误的解决方案。显然,这取决于您发送的数据。


答案 2

在你的html中,你可以传入一个数组来表示名称,即

<input type="text" name="address[]" /> 

这样,php将接收一个地址数组。