简体   繁体   English

filter_var和filter_input之间的差异

[英]Differences between filter_var and filter_input

Why this doesn't work: 为什么这不起作用:

if(!($data['email'] = filter_var(INPUT_POST,'email',FILTER_SANITIZE_EMAIL)))
{
    $errors['email'] = 'Invalid Email.';
}

And this is working: 这是有效的:

if(!($data['email'] = filter_input(INPUT_POST,'email',FILTER_SANITIZE_EMAIL)))
{
    $errors['email'] = 'Invalid Email.';
}

Difference here is filter_var and filter_input and when I hit submit whit filter_var doesn't submitting the form but with filter_input is submitted. 这里的区别是filter_varfilter_input ,当我点击提交时,whit filter_var不提交表单但提交了filter_input Also here 也在这里

filter_input(INPUT_POST,'email',FILTER_SANITIZE_EMAIL))

if I wrote for example some'@email.com why doesn't remove ' . 如果我写了一些some'@email.com为什么不删除' Is it working this function? 它是否正常工作? I'm a bit confused. 我有点困惑。

If you look at arguments filter_var and filter_input functions take, you will see why: 如果你看看参数filter_varfilter_input函数,你会明白为什么:

filter_var ($value_to_be_filtered, FILTER_TYPE, $options)

VS VS

filter_input($input_type , $variable_from_input, FILTER_TYPE, $options)

Where $input_type is one of INPUT_GET , INPUT_POST , INPUT_COOKIE , INPUT_SERVER , or INPUT_ENV . 其中$input_typeINPUT_GETINPUT_POSTINPUT_COOKIEINPUT_SERVERINPUT_ENV

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM