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, variable, filter, options)
参数 | 描述 |
---|---|
input_type | 必需。规定输入类型。参见上面的列表中可能的类型。 |
variable | 必需。规定要过滤的变量。 |
filter | 可选。规定要使用的过滤器的 ID。默认是 FILTER_SANITIZE_STRING。参见 完整的 PHP Filter 参考手册 ,查看可能的过滤器。 过滤器 ID 可以是 ID 名称(比如 FILTER_VALIDATE_EMAIL)或 ID 号(比如 274)。 |
options | 可选。规定一个包含标志/选项的关联数组或者一个单一的标志/选项。检查每个过滤器可能的标志和选项。 |
例
この例では、POST変数をフィルタリングするfilter_input()関数を使用します。 受信POST変数は、正当な電子メールアドレスであります:
<?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
完全なPHPフィルタリファレンス