いつもお世話になっております。
filter_input_array の使い方でわからないことがあります。
これまでは post でデータを送る際に、以下のように1つひとつチェックをしてデータを変数に格納しておりました。
php
1if( !empty( $_POST['name'] ) ){ 2 3 $name = $_POST['name']; 4 5 header( 'Location: http://localhost:8888' ); 6 exit; 7 8}
ただ、少ない数ではこれでも問題はないのですが、
チェックする項目が増えた時にこれでは煩雑になり現実的ではないと思い他の方法を調べていたところ
filter_input_array()
に出会いました。
しかし、filter_input_array()
の使い方は公式マニュアルがあるものの、
いまいち自分が知りたい情報が記載されておらず、今回こちらでお尋ねすることとしました。
自分が知りたいこととしては、
上記の if( !empty( $_POST['name'] ) )~
のようにPOSTデータが入っていなかった場合に元のページにリダイレクトをさせたいのですが、
filter_input_array()
を使う場合はどのようにこれを表現すれば良いかがわかりません。
以下のように、オプションを設定することもできるようですが、
型チェックのみでnull
や""
だった場合にfalse
を返してくれるなどがないようでした。
(デフォルトでnull
や""
のチェックをしてくれると思ったのですが、
オプションを設定せずにフォームデータを飛ばしたところ、何もエラーがでずに""
が出ておりました。)
php
1$filter = array( 2 'name' => FILTER_VALIDATE_INT, 3 'email' => FILTER_VALIDATE_EMAIL, 4); 5 6$post_data = filter_input_array( INPUT_POST, $filter );
php にあまり明るくないので質問が的確でないかもしれませんが、
もしご不明な点があれば修正依頼などしていただければと思います。
以上となります。
それではどうぞ宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。