×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
POSTやGETなどのスーパーグローバル変数へのアクセスは直接以下の様にすることで行えます。
この例では、$_GET変数から id という引数を取得します。
<?php if((isset($_GET["id"]) == false) || ($_GET["id"] == "")) { $id = ''; }else{ $id = $_GET["id"]; } ?>
これを filter_input 関数を使うと1行ですっきりします。
<?php $id = filter_input(INPUT_GET, 'id'); ?>
但し、これだと引数 id が全く指定されない場合は、変数 $id の中身がNULLになってしまいます。 そこで filter_input 関数の第3引数に FILTER_SANITIZE_STRING を指定すれば id を文字列として 取得できます。
<?php $id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_STRING); ?>
引数 id を整数値として扱いたい場合は、第3引数に FILTER_VALIDATE_INT を指定します。
<?php $id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_STRING); ?>
この場合でも、id=aaa の文字列指定であったり、id= の様に未指定であったりすると 変数 $id が false で返されます。
これでは不都合があったりしますので、値の規定値、最小値、最大値の指定を filter_input 関数の第4引数に配列で指定します。
<?php $id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT, array('options' => array('default' => 0, 'min_range' => 0, 'max_range' => 999) ) ); ?>
指定された min_range指定値と max_range指定値の範囲外の場合は default指定値が返されます。
PR
コメント