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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。