【问题标题】:Is this html input name valid: data[example[]]这个 html 输入名称是否有效:data[example[]]
【发布时间】:2018-06-16 14:15:18
【问题描述】:
  • 如果您有许多输入字段并且想一次插入它们:

    <input type="email" name="data[email]">

然后你插入$_POST['data']

  • 如果您想添加许多具有相同名称的输入字段,请使用 jquery 或任何 Js 库,你这样做

    <input type="email" name="email[]"

然后循环遍历它并将值插入 Mysql。


我的问题是:我有两种情况;我想使用

插入

$_POST['data'] 因为我有很多输入字段,并且我有一个页面,用户可以在其中添加多个输入字段。但是以下不起作用

`<input type="email" name="data[email[]]">`

$_POST只有1行,最后一行,所以如果用户生成4行,只有最后一行的输入字段值会在$_POST中。

W3 验证器表示整个页面都是有效的,没有任何 HTML 问题。

基本上,每次用户按 add 时,我都会附加一行 4 个输入字段

http://jsfiddle.net/jaredwilli/tZPg4/4/

var_dump($_POST[data]) 只捕获最后一行。 $_POST[data[]) 无效。如果我尝试遍历这些值,我会得到 Warning: Illegal string offset,因为什么都没有。

data[example[]] 有效吗?还是我必须单独插入每个字段,而不是作为数组?

【问题讨论】:

  • 你能显示$_POST的转储吗?
  • @Akintunde007 当然,当我在电脑上编辑我的问题时,我会通知你

标签: php html php-7


【解决方案1】:
<input type="email" name="data[email[]]">

您只是在这里弄错了“语法”,这就是您要命名字段的名称:

name="data[email][]"

这将在$_POST['data']['email'] 中创建一个条目,该条目本身就是一个包含各个值的数字索引数组。

【讨论】:

  • 谢谢,今晚我试试。我可以不指定任何内容直接插入$_POST[data] 吗?
猜你喜欢
  • 2011-02-23
  • 1970-01-01
  • 2017-03-17
  • 2022-09-28
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2015-04-30
相关资源
最近更新 更多