Почему это не работает:
if(!($data['email'] = filter_var(INPUT_POST,'email',FILTER_SANITIZE_EMAIL))) { $errors['email'] = 'Invalid Email.'; }
И это работает:
if(!($data['email'] = filter_input(INPUT_POST,'email',FILTER_SANITIZE_EMAIL))) { $errors['email'] = 'Invalid Email.'; }
Разница здесь – filter_var
и filter_input
и когда я нажимаю submit filter_var
не отправляет форму, а filter_input
. Также здесь
filter_input(INPUT_POST,'email',FILTER_SANITIZE_EMAIL))
если я написал, например, some'@email.com
почему не удаляет '
. Работает ли эта функция? Я немного смущен.
Если вы посмотрите на аргументы функции filter_var
и filter_input
, вы увидите, почему:
filter_var ($value_to_be_filtered, FILTER_TYPE, $options)
В.С.
filter_input($input_type , $variable_from_input, FILTER_TYPE, $options)
Где $input_type
является одним из INPUT_GET
, INPUT_POST
, INPUT_COOKIE
, INPUT_SERVER
или INPUT_ENV
.