[英]accessing dynamic variables from a form
我曾經將register_globals
ON
(我知道-糟糕糟糕糟糕非常糟糕),現在我要對其進行更改,並且特定的應用程序是我的DVD收藏集。 添加DVD會顯示一組流派/類別(即戲劇,喜劇等)的復選框。 每個流派都來自數據庫表,因此我可以根據需要添加新流派。 這里的問題是它從該數據庫表中的縮寫生成其字段名(復選框名稱)。
IE瀏覽器,我將擁有:
<input type="checkbox" name="drama" />Drama
<input type="checkbox" name="bio" />Biography
(etc)
因此,我之前所做的是,使用創建條目的腳本,它將在縮寫名稱列表中運行,並且如果它與輸入($_POST['drama'])
相匹配,則表明該DVD屬於該名稱。類別。
現在的問題是,在全局變量關閉的情況off
,如何動態收集這些$_POST values
? 我嘗試遍歷數據庫並吐出一個串聯變量,試圖以這種格式聲明它們:
$drama=$_POST['drama'];
這行不通,因為我將函數與變量混合在一起,這造成了嚴重的混亂。
我希望有人對如何讀取$_POST array
並使用它有一個答案。
給定一些這樣的復選框:
<input type="checkbox" name="genre[]" value="drama" />
<input type="checkbox" name="genre[]" value="comedy" />
<input type="checkbox" name="genre[]" value="mystery" />
您最終將$_POST['genre']
作為數組。 假設戲劇和神秘都被選中了,你最終會得到
$_POST['genre'] = array(
0 => 'drama',
1 => 'mystery'
);
請記住,未選中的復選框不會與表單一起提交,因此,如果在$_POST['genre']
獲得條目,則在表單中將其選中。
要檢查是否已選擇數據庫中的類別,可以執行以下操作
if (in_array('drama', $_POST['genre'])) {
... drama is selected
}
請參閱以下示例:
foreach ($_POST as $key => $value) {
echo "name: $key, value: $value<br />";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.