为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕盖茨4494581 2019-06-25 14:47:54
通过POST在php中输入多个同名输入是否有可能获得多个相同名称的输入,然后通过PHP访问这些输入?我的想法是:我有一个表单,允许输入一个不确定数量的物理地址以及其他信息。如果我只是在几个条目中给每个字段取相同的名称,并通过POST提交数据,PHP能够访问它吗?例如,在一个名为“xyz”的页面上有五个输入,我想使用PHP访问它们。我可以做这样的事:    $_POST['xyz'][0]如果是这样的话,这将使我的生活更轻松十倍,因为我可以通过表单发送不确定数量的信息,并让服务器处理它,只需循环遍历名为“xyz”的项目数组即可。
查看完整描述

3 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

更改输入的名称:

<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”的项目数组即可。

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


查看完整回答
反对 回复 2019-06-25
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

在html中,可以为名称传入一个数组,即

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

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


查看完整回答
反对 回复 2019-06-25
?
跃然一笑

TA贡献1826条经验 获得超6个赞

Eric答案是正确的,但问题是字段没有分组。想象一下,你有多条街道和多个城市,它们属于同一个城市:

<h1>First Address</h1><input name="street[]" value="Hauptstr" /><input name="city[]" value="Berlin"  />
<h2>Second Address</h2><input name="street[]" value="Wallstreet" /><input name="city[]" value="New York" />

结果是

$POST = [ 'street' => [ 'Hauptstr', 'Wallstreet'], 
          'city' => [ 'Berlin' , 'New York'] ];

为了将它们按地址分组,我建议使用Eric在评论部分中提到的内容:

<h1>First Address</h1><input name="address[1][street]" value="Hauptstr" /><input name="address[1][city]" value="Berlin"  />
<h2>Second Address</h2><input name="address[2][street]" value="Wallstreet" /><input name="address[2][city]" value="New York" />

结果是

$POST = [ 'address' => [ 
                 1 => ['street' => 'Hauptstr', 'city' => 'Berlin'],
                 2 => ['street' => 'Wallstreet', 'city' => 'New York'],
              ]
        ]


查看完整回答
反对 回复 2019-06-25
  • 3 回答
  • 0 关注
  • 935 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信