繁体   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