有没有一种安全的方法来自动分配已发布数组中的键?以下是错误方法的两个示例...
foreach( $_POST as $key => $value ) {
$$key = $value;
}
要么
extract($_POST)
有没有更好的方法,或者最好编码:
$foo = $_POST('foo');
$bar = $_POST('bar');
....
对于我表单上的所有 50 个输入?
(发布的信息将被插入到数据库中)。
最佳答案
一次提取所有输入字段的一种更谨慎的方法是:
extract( $_POST, EXTR_OVERWRITE, "form_" );
这样,您的所有输入变量将至少被称为
$form_foo
和 $form_bar
。避免在全局范围内这样做 - 不是因为全局是邪恶的,而是因为没有人会清理那里。但是,由于大多数情况下您是在本地化范围内执行此操作,因此您也可以应用 htmlentities,例如,如果您需要所有字段仅用于输出:
extract(array_map("htmlspecialchars", $_POST), EXTR_OVERWRITE, "form_");
关于PHP:有没有安全的提取方法($_POST),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5306498/