![](/img/trans.png)
[英]preg_match_all for <option></option> to get all matching values
[英]Get all values of option fields and push it into an array
假設我有一個照片上傳系統,用戶必須在其中為每個相冊設置一個類別,以獲取漂亮而干凈的搜索功能的基礎知識。 但是,如果用戶現在正在更改這樣的值:
<select>
<option value="">Choose a Category</option>
<option value="Holiday">Holiday</option>
</select>
對此:
<select>
<option value="">Choose a Category</option>
<option value="Holiday">Something Stupid</option>
</select>
是“愚蠢的東西”輸入到數據庫中。
這就是為什么我必須進行服務器端檢查。 但是我不知道如何獲取選項字段的所有正確值來將其與發布的值進行比較。
因此,我的首要考慮因素如下:
PHP:
// Get all values of the option fields
// Push all the values into an array
if (in_array('foo', $array)) {
// foo is in the array
}
感謝您的幫助。
好的,所以我想我猜到了您想說的話。
您不應該在list.php
文件中對標簽進行硬編碼,而應在其中放置一個數組。 這樣,您既可以將其用於生成選擇字段,也可以用於驗證。 但是,通常最好使用具有類別的數據庫表。
路徑/ list.php
return array(
'1' => 'Name of Ctg 1',
'2' => 'Name of Ctg 2'
);
在這里生成選擇
<select name="whatever">
<?php
$options = include('path/list.php');
foreach($options as $id => $name) {
echo '<option value="' . $id . '">' . $name . '</option>';
}
?>
</select>
以及如何在“目標”頁面中進行驗證
$options = include('path/list.php');
if(!array_key_exists( $valueFromUser, $options ) ) {
// invalid option
}
當從包含select標記的頁面發布數據時,如果在catcher php頁面中運行以下php,則它將位於$ _REQUEST數組中:
foreach ($_REQUEST AS $key => $value) echo "$key = $value <br>";
您將從list.php中看到結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.