PHP filter_input() 函數(shù)
定義和用法
filter_input() 函數(shù)從腳本外部獲取輸入,并進(jìn)行過濾。
本函數(shù)用于對(duì)來自非安全來源的變量進(jìn)行驗(yàn)證,比如用戶的輸入。
本函數(shù)可從各種來源獲取輸入:
- INPUT_GET
- INPUT_POST
- INPUT_COOKIE
- INPUT_ENV
- INPUT_SERVER
- INPUT_SESSION (Not yet implemented)
- INPUT_REQUEST (Not yet implemented)
如果成功,則返回被過濾的數(shù)據(jù),如果失敗,則返回 false,如果 variable 參數(shù)未設(shè)置,則返回 NULL。
語法
filter_input(input_type, variable, filter, options)
參數(shù) | 描述 |
---|---|
input_type | 必需。規(guī)定輸入類型。參見上面的列表中可能的類型。 |
variable | 規(guī)定要過濾的變量。 |
filter |
可選。規(guī)定要使用的過濾器的 ID。默認(rèn)是 FILTER_SANITIZE_STRING。 請(qǐng)參見完整的 PHP Filter 函數(shù)參考手冊(cè),獲得可能的過濾器。 過濾器 ID 可以是 ID 名稱 (比如 FILTER_VALIDATE_EMAIL),或 ID 號(hào)(比如 274)。 |
options | 規(guī)定包含標(biāo)志/選項(xiàng)的數(shù)組。檢查每個(gè)過濾器可能的標(biāo)志和選項(xiàng)。 |
例子
在本例中,我們使用 filter_input() 函數(shù)來過濾一個(gè) 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