我具有仅允许来自表单提交的预期数据的功能。我以前使用过它,但现在工作正常,但现在尝试使用它时。它抛出错误:Warning: Invalid argument supplied for foreach()
我尝试使用is_array()
函数,但没有解决错误。不知道为什么会这样。
功能
function allowed_post_params($allowed_params=[]) {
$allowed_array = [];
foreach ($allowed_params as $param) {
if (isset($_POST[$param])) {
$allowed_array[$param] = $_POST[$param];
} else {
$allowed_array[$param] = NULL;
}
}
return $allowed_array;
}
在处理中使用
if (is_post_request()) {
$post_params = allowed_post_params('email', 'username', 'password', 'country');
$email = $post_params['email'] ?? '';
$username = $post_params['username'] ?? '';
$password = $post_params['password'] ?? '';
$country = $post_params['country'] ?? '';
}
您不提供单个array
作为参数,而是提供4个string
参数。
$post_params = allowed_post_params('email', 'username', 'password', 'country');
用途:
$post_params = allowed_post_params(['email', 'username', 'password', 'country']);