2016-02-22 42 views
1

我有一个表单,如果你想添加更多信息,有一个按钮可以追加另一组输入框。每次它添加一组新的框时,所有的输入框都会为该组输入框添加一个唯一的数字。动态选择在php中具有相同前缀的所有变量

例子:

如果你有三套输入框它应该是这样的:

name, age, gender, dob

name1, age1, gender1, dob1

name2, age2, gender2, dob2

然而,当我送这个信息结束了我的PHP我从数组中提取信息,所以每个都是一个变量。所以,名称将是$name,并且名称1将是$name1依此类推。但我的问题是,我如何一次清理和验证一次所有的年龄和所有年龄一次等。

我问的原因是因为我GOOGLE了这很多,我无法找到答案如何去做这个。

+8

使用'名[]'的name属性等通过然后循环。 – chris85

回答

2

尝试创建集,如下面示例给出:

对于第一组:

<input type="text" name="name[]" id="name1" /> 
<input type="text" name="gender[]" id="gender1" /> 
<input type="text" name="age[]" id="age1" /> 
<input type="text" name="dob[]" id="dob1" /> 

对于第二设置:

<input type="text" name="name[]" id="name2" /> 
<input type="text" name="gender[]" id="gender2" /> 
<input type="text" name="age[]" id="age2" /> 
<input type="text" name="dob[]" id="dob2" /> 

并相应地设置所有其他组。

现在,获得发布的数据,你可以使用

<?php 
echo "<pre>".print_r($_POST, true)."</pre>"; 
?> 
1

你可以使用像这样为每个实体:

<input type="text" name="age[]" id="age1" /> 

这里,ID应该是JavaScript或jQuery和名称增量顺序应该是相同的,这将给你一个数组中$_POST所有属性或$_REQUEST

打印$_REQUEST您将会知道如何获得所有数据。

0

您已经得到了姓名,年龄的阵列等

消毒在PHP中使用array_map()功能。它会清理阵列。

$result = array_map("stripslashes", $result); 

这里$result是一个数组

相关问题