定義和用法
filter_input() 函式從腳本外部獲取輸入,並進行過濾。
本函式用於對來自非安全來源的變數進行驗證,比如用戶的輸入。
本函式可從各種來源獲取輸入:
INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_ENV
INPUT_SERVER
INPUT_SESSION (Not yet implemented)
INPUT_REQUEST (Not yet implemented)
如果成功,則返回被過濾的數據,如果失敗,則返回 false,如果 variable 參數未設定,則返回 NULL。
語法
filter_input(input_type, variable, filter, options)
參數 | 描述 |
---|
input_type | 必需。規定輸入類型。參見上面的列表中可能的類型。 |
variable | 規定要過濾的變數。 |
filter | 可選。規定要使用的過濾器的 ID。默認是 FILTER_SANITIZE_STRING。 請參見完整的 PHP Filter 函式參考手冊,獲得可能的過濾器。 過濾器 ID 可以是 ID 名稱 (比如 FILTER_VALIDATE_EMAIL),或 ID 號(比如 274)。 |
options | 規定包含標誌/選項的數組。檢查每個過濾器可能的標誌和選項。 |
例子
在本例中,我們使用 filter_input() 函式來過濾一個 POST 變數。所接受的 POST 變數是合法的 e-mail 地址。
<?php if (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL))
{ echo "E-Mail is not valid"; }
else
{ echo "E-Mail is valid"; }
?>
輸出類似:
E-Mail is valid