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 位址:
<?phpif (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) { echo "E-Mail is not valid"; }else { echo "E-Mail is valid"; }?>
程式碼的輸出如下所示:
E-Mail is valid