filter_input()是PHP中的内置函数,用于按名称获取特定的外部变量并对其进行过滤。此函数用于验证来自不安全来源的变量,例如来自表单的用户输入。此函数对于防止某些潜在的安全威胁(如SQL Injection)非常有用。
用法:
filter_input( $type, $variable_name, $filter, $options)
参数:该函数接受上述和以下所述的四个参数:
- $type:它是必填参数,用于检查输入类型。过滤器列表为:
- INPUT_GET
- INPUT_POST
- INPUT_COOKIE
- INPUT_SERVER
- INPUT_ENV
- $variable_name:它是必填参数。它用于为要检查的变量命名。
- $filter:它是一个可选参数。它包含过滤器的名称或ID。如果未设置此参数,则使用FILTER_DEFAULT。
- $options:它是一个可选参数,用于指定要使用的一个或多个标志/选项。它检查每个过滤器中可能的选项和标志。如果接受过滤器选项,则可以在数组的“flags”字段中提供标志。
返回值:如果成功,则返回变量的值;如果失败,则返回False。如果未设置参数,则返回NULL。如果使用了标志FILTER_NULL_ON_FAILURE,则如果未设置变量,则返回FALSE;如果失败,则返回NULL。
范例1:
<?php
// PHP program to validate email using filter
if (isset($_GET["email"])) {
if (!filter_input(INPUT_GET, "email",
FILTER_VALIDATE_EMAIL) === false) {
echo("Valid Email");
} else {
echo("Invalid Email");
}
}
?>
输出:
Valid Email
范例2:
<?php
// Input type:INPUT_GET input name:search
// filter name:FILTER_SANITIZE_SPECIAL_CHARS
$search_variable_data = filter_input(INPUT_GET,
'search', FILTER_SANITIZE_SPECIAL_CHARS);
// Input type:INPUT_GET input name:search
// filter name:FILTER_SANITIZE_ENCODED
$search_url_data = filter_input(INPUT_GET,
'search', FILTER_SANITIZE_ENCODED);
echo "Search for $search_variable_data.\n";
echo "<a href='?search=$search_url_data'>Search again.</a>";
?>
输出:
Search for tic tac & toc. Search again.
参考文献: http://php.net/manual/en/function.filter-input.php
相关用法
- PHP cos( )用法及代码示例
- PHP sin( )用法及代码示例
- PHP tan( )用法及代码示例
- PHP pow( )用法及代码示例
- PHP Ds\Set xor()用法及代码示例
- PHP pi( )用法及代码示例
- PHP next()用法及代码示例
- PHP exp()用法及代码示例
- PHP Ds\Set sum()用法及代码示例
- PHP Ds\Set get()用法及代码示例
- PHP Ds\Map get()用法及代码示例
- PHP each()用法及代码示例
- PHP abs()用法及代码示例
- PHP each()用法及代码示例
注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 PHP | filter_input() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。