У меня есть функция, которая позволяет только ожидаемые данные из отправленных форм. Я использовал его раньше, и он работал нормально, но теперь, когда я пытаюсь использовать его. выдает ошибку: 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'] ?? '';
}