PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

filter_list> <filter_input_array
Last updated: Fri, 10 Oct 2008

view this page in

filter_input

(PHP 5 >= 5.2.0, PECL filter:0.11.0)

filter_input指定した名前の変数を外部から受け取り、オプションでそれをフィルタリングする

説明

mixed filter_input ( int $type , string $variable_name [, int $filter [, mixed $options ]] )

パラメータ

type

INPUT_GETINPUT_POSTINPUT_COOKIEINPUT_SERVERINPUT_ENVINPUT_SESSION (まだ実装されていません) および INPUT_REQUEST (まだ実装されていません) のいずれか。

variable_name

取得する変数の名前。

filter

適用するフィルタ。デフォルトは FILTER_DEFAULT です。

options

オプションあるいはフラグの論理和の連想配列。 オプションを指定可能なフィルタの場合、この配列の "flags" フィールドにフラグを指定します。

返り値

成功した場合は要求された変数の値、フィルタリングに失敗した場合に FALSE、 あるいは変数 variable_name が設定されていない場合に NULL を返します。フラグ FILTER_NULL_ON_FAILURE が指定されている場合は、変数が設定されていなければ FALSE、 フィルタリングに失敗したら NULL を返します。

例1 filter_input() の例

<?php
$search_html 
filter_input(INPUT_GET'search'FILTER_SANITIZE_SPECIAL_CHARS);
$search_url filter_input(INPUT_GET'search'FILTER_SANITIZE_ENCODED);
echo 
"You have searched for $search_html.\n";
echo 
"<a href='?search=$search_url'>Search again.</a>";
?>

上の例の出力は、たとえば 以下のようになります。

You have searched for Me &#38; son.
<a href='?search=Me%20%26%20son'>Search again.</a>



filter_list> <filter_input_array
Last updated: Fri, 10 Oct 2008
 
add a note add a note User Contributed Notes
filter_input
Marques Johansson
02-Jan-2008 11:30
Despite the documentation for 'type', you can specify multiple types by doing:

$test = filter_input(INPUT_GET | INPUT_POST, 'test');

This was tested in 5.2.3.

When both are set it appears to return the value defined first by variables_order (php.ini).

This trick does not seem to work in filter_input_array though.  Neither function supports INPUT_REQUEST at the moment.
vid at phpcult dot com
10-Dec-2007 12:49
If you want to use the callback filter with filter_input, you need to do something like:

$args = array ('options' => 'mycallbackfunction');

$foobar = filter_input(INPUT_POST,'postedvariable',FILTER_CALLBACK,$args);
anthony dot parsons at manx dot net
23-Aug-2007 02:10
FastCGI seems to cause strange side-effects with unexpected null values when using INPUT_SERVER and INPUT_ENV with this function. You can use this code to see if it affects your server:
<?php
var_dump
($_SERVER);
foreach (
array_keys($_SERVER) as $b ) {
   
var_dump($b, filter_input(INPUT_SERVER, $b));
}
echo
'<hr>';
var_dump($_ENV);
foreach (
array_keys($_ENV) as $b ) {
   
var_dump($b, filter_input(INPUT_ENV, $b));
}
?>
If you want to be on the safe side, using the superglobal $_SERVER and $_ENV variables will always work. You can still use the filter_* functions for Get/Post/Cookie without a problem, which is the important part!

filter_list> <filter_input_array
Last updated: Fri, 10 Oct 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites