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 は有効です