我有这段代码:http://jsfiddle.net/Zx8hc/9/。
这是一个用户可以动态添加输入文本的表单,他可以根据需要添加和删除(仅限第一个是强制性的)。由于他可以添加和删除他喜欢的ID,因此他们的ID可能不会连续。
我的问题是如何使用PHP从新创建的输入中收集数据并将其存储在变量中,每个输入都是独立的([input_1]
> $input_1
等等)。我的想法是创建一个for
循环并浏览从0
到n
的所有元素,包含数据的人将被存储,而不会包含数据的人;吨。那会是一种合适的方法吗?
很抱歉,我没有显示任何PHP代码,但我甚至不知道从哪一个开始,所以非常感谢您提前帮助我
答案 0 :(得分:1)
我建议使用name
标记创建这些新输入。这些名称标签必须是唯一的,例cool_input1
,cool_input_2
,...或用作数组:cool_input[]
。
结果 - 您可以在php中获取传入信息并从POST / GET解析收到的数据。
对于第一个想法,您不需要知道生成的输入的实际计数。你可以在POST'中使用'foreach元素如果它的名字与你的模式相符 - 这就是你需要的。
答案 1 :(得分:0)
我检查了你的小提琴,你有下一个HTML作为输入元素。
<input type="text">
如果要将表单数据发送到服务器,则必须将其包装在表单元素中。下面是一个简单表格的例子
<form action="url_to_php_file.php" method="post">
<input type="text" name="age[]" />
<input type="submit" value="submit" />
</form>
在这里,您会看到一个<form>
元素,您可以使用该元素将表单数据传递到服务器。它有几个属性。在这里,action
是表单内容应发送到的URL。选择应该处理表单的PHP文件。如果它与显示在同一页面上,只需使用#
作为字段。
然后method
- 属性是通过POST数据发送表单。另一个选项是使用GET,但它不安全,因为使用GET也会在URL中发送表单数据。虽然POST会将其包装在请求中。
如果您有表单元素,则需要一个按钮来提交表单。通过提交,您将激活触发器以将表单发送到表单的action-attribute中描述的地址。这是input-submit元素。
现在,数据本身。必须为每个输入分配name
- 属性。提交表单时,它的内容将与该名称相关联。如果要将多个数据作为一个名称字段发送,则必须使用一个数组,即表单名称中的[]
。
例如,age
只能保存一个数据条目。虽然age[]
可以包含多个值。
如果要添加元素,只需克隆所述对象,只有它没有id
。如果您有多个具有相同ID的元素,则可以获得不可预测的结果。建议保持id的独特性。
在您的PHP文件中,请将$_POST['name']
作为数组阅读。
......编辑。