此html输入名称是否有效:data [example []]

时间:2018-01-07 10:03:56

标签: php html html5 php-7

  • 如果您有许多输入字段,并且想要立即插入它们:

    <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问题。

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

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

var_dump($_POST[data])只是抓住最后一排。 $_POST[data[])无效。如果我尝试遍历这些值,我会Warning: Illegal string offset,因为没有任何内容。

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

1 个答案:

答案 0 :(得分:2)

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

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

name="data[email][]"

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