首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在php中通过POST实现多个同名输入

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

Stack Overflow用户
提问于 2011-10-25 03:10:39
回答 4查看 209.2K关注 0票数 130

有没有可能获得多个同名的输入来post,然后从PHP访问它们?这个想法是这样的:我有一个表单,允许输入无限数量的物理地址以及其他信息。如果我简单地在几个条目中为每个字段指定相同的名称,并通过post提交数据,那么PHP能够访问它吗?

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

代码语言:javascript
复制
    $_POST['xyz'][0]

如果是这样的话,这将使我的工作轻松十倍,因为我可以通过一个表单发送无限数量的信息,并通过循环遍历名为"xyz“的项的数组来让服务器处理它。

EN

回答 4

Stack Overflow用户

发布于 2011-10-25 03:13:37

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

代码语言:javascript
复制
<input type="text" name="address[]" /> 

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

票数 39
EN

Stack Overflow用户

发布于 2019-04-26 17:11:08

Eric的回答是正确的,但问题是字段没有分组。假设你有多个属于一起的街道和城市:

代码语言:javascript
复制
<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" />

结果将会是

代码语言:javascript
复制
$POST = [ 'street' => [ 'Hauptstr', 'Wallstreet'], 
          'city' => [ 'Berlin' , 'New York'] ];

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

代码语言:javascript
复制
<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" />

结果将会是

代码语言:javascript
复制
$POST = [ 'address' => [ 
                 1 => ['street' => 'Hauptstr', 'city' => 'Berlin'],
                 2 => ['street' => 'Wallstreet', 'city' => 'New York'],
              ]
        ]
票数 17
EN

Stack Overflow用户

发布于 2016-09-12 16:09:49

对于其他任何找到它的人-值得注意的是,您可以在输入名称中设置键值。多亏了POSTing Form Fields with same Name Attribute中的答案,你还可以在没有引号的情况下交互字符串或整数。

答案假设您不介意返回的关键字值,但是您可以设置name=[yourval] (字符串或整数),这样您就可以引用现有的记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7880619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档