2016-02-22 44 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是一個數組

相關問題