有没有一种安全的方法来自动分配发布数组中的键?以下是错误方式的两个例子......
foreach( $_POST as $key => $value ) {
$$key = $value;
}
Run Code Online (Sandbox Code Playgroud)
要么
extract($_POST)
Run Code Online (Sandbox Code Playgroud)
是否有更好的方法,或者最好是编码:
$foo = $_POST('foo');
$bar = $_POST('bar');
....
Run Code Online (Sandbox Code Playgroud)
对于我表格中的所有50个输入?
(发布的信息将被插入到数据库中).
mar*_*rio 17
一次性提取所有输入字段的另一种谨慎方法是:
extract( $_POST, EXTR_OVERWRITE, "form_" );
Run Code Online (Sandbox Code Playgroud)
这样,所有的输入变量将被调用$form_foo
,并$form_bar
至少.避免在全球范围内这样做 - 不是因为全球是邪恶的,而是因为没有人在那里清理.
但是,由于大部分是在局部范围内执行此操作,因此您可以应用htmlentities,例如,您需要所有字段仅用于输出:
extract(array_map("htmlspecialchars", $_POST), EXTR_OVERWRITE, "form_");
Run Code Online (Sandbox Code Playgroud)