PHP filter_input() 函數

定義和用法
filter_input() 函數從腳本外部獲取輸入(比如表單輸入),並進行過濾。
該函數用於對來自非安全來源的變數進行驗證,比如用戶的輸入。
該函數可從各種來源獲取輸入:
- INPUT_GET
- INPUT_POST
- INPUT_COOKIE
- INPUT_ENV
- INPUT_SERVER
- INPUT_SESSION(尚未推行)
- INPUT_REQUEST(尚未推行)
如果成功,則返回被過濾的數據。如果失敗,則返回 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";
}
?>
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
