2017-06-27 40 views
0

我動態構建不同的表單。我查詢一個數據庫,我得到所有與當前窗體ID相關的字段。 (我有兩個表,一個帶有字段列表,另一個帶有與產品關聯的字段列表)。我建立一個連接,並且我可以獲取所有信息以構建表單。如何從動態構建的表單中獲取數據?

它工作正常。

我的問題與$_POST發送的數據的處理有關。通常情況下,當我知道所有的領域,我得到這樣的數據:

$nom = htmlentities($_POST['nom']); 
$prenom = $_POST['prenom']; 

我不能這樣做,因爲我都用不同的名稱300場。 我可以在不知道名稱字段的情況下使用PHP獲取所有後期值嗎?

+1

根據表單元素的不同,可以使用'foreach'和'!empty()/ isset()'方法。 –

+1

'htmlentities()'順便說一句,是用於顯示的目的。 –

+0

@ Fred-ii- oops'htmlentities()'在這裏沒有任何關係。你能用「foreach」解決方案發布答案​​嗎?我可以爲它投票。 –

回答

3

PHP有一個稱爲extract的函數,但它並不完全推薦與用戶數據一起使用,因爲用戶可以發送任何您不期望的密鑰。

要達到同樣的,你也可以使用一個循環:

foreach($array as $key => $value) { 
    $$key = $value; 
} 

的安全問題是相同的,但。

+0

我該如何提高安全性? –

+0

提取支持使用前綴(因此所有變量都變成'$ prefix_key'),儘管這可能不適用於您的用例。允許的鍵的預定義列表將有所幫助,但是如果您有這些鍵,您也可以循環訪問列表中的鍵(例如,循環顯示用於生成表單的同一列表)。 – mvuajua

+0

@SébastienGicquel這是一個單獨的問題/問題。 –

相關問題