如果您有许多输入字段,并且想要立即插入它们:
<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[]]
有效吗?或者我是否必须单独插入每个字段,而不是数组?
答案 0 :(得分:2)
<input type="email" name="data[email[]]">
你只是在这里弄错了“语法”,这就是你想要命名的字段:
name="data[email][]"
这将在$_POST['data']['email']
中创建一个条目,它本身就是一个包含各个值的数字索引数组。