當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP filter_input()用法及代碼示例


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



相關用法


注:本文由純淨天空篩選整理自gekcho大神的英文原創作品 PHP | filter_input() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。