簡體   English   中英

從復選框名稱中過濾ID

[英]filtering ids from checkboxnames

我有一些可以檢查的復選框。 他們看着像是

<input type="checkbox" name="order[123]" value="1">

現在我正在檢查formdata,我在這個方式中按順序過濾數組中的ID,然后我在數據庫中查找它們。

$orderids = preg_grep('/^\d+$/', array_keys($_POST['order']));

有沒有更有效的方法來做到這一點?

使用正則表達式,您確保不使用惡意字符串,但不檢查數據庫中的可行性。 (例如, order[999999999999999999999999]會傳遞正則表達式,但在數據庫中沒用。)

最真實的驗證是使用array_intersect對數據庫傳播的id運行它們。

   $valid_ids=array_intersect(array_keys($_POST['order']),$db_orderids_array)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM