PHP filter_input() 関数
定義と使用法
filter_input() 関数は、スクリプト外部からの入力を取得し、フィルタリングします。
この関数は、非安全な来源からの変数(例えばユーザーの入力)を検証するために使用されます。
この関数は、さまざまな来源から入力を取得することができます:
- INPUT_GET
- INPUT_POST
- INPUT_COOKIE
- INPUT_ENV
- INPUT_SERVER
- INPUT_SESSION (未実装)
- INPUT_REQUEST (未実装)
成功した場合、フィルタリングされたデータを返します。失敗した場合、false を返します。 変数 パラメータが設定されていない場合、NULL を返します。
構文
filter_input(input_type, 変数, フィルタ, オプション)
パラメータ | 説明 |
---|---|
input_type | 必須。入力タイプを指定します。上記のリストで指定可能なタイプを参照してください。 |
変数 | フィルタリングする変数を指定します。 |
フィルタ |
オプション。使用するフィルタの ID を指定します。デフォルトは FILTER_SANITIZE_STRING です。 完全な PHP Filter 関数リファレンスマニュアルを参照して、可能なフィルタを取得してください。 フィルタ ID は ID 名(例えば FILTER_VALIDATE_EMAIL)または ID 号(例えば 274)で指定できます。 |
オプション | フラグ/オプションを含む配列を指定します。各フィルタの可能性のあるフラグとオプションを確認します。 |
例
この例では、filter_input() 関数を使用して POST 変数をフィルタリングします。受け取る POST 変数は有効な e-mail アドレスです。
<?php if (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) { echo "E-Mail は無効です"; } else { echo "E-Mail は有効です"; } ?>
出力は以下のようになります:
E-Mail は有効です