質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

3421閲覧

filter_input 配列

Z-TALBO

総合スコア525

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/07/28 08:54

###例えばのデータ

HTML

1<input type='text' name='user[0][name]'> 2<input type='tel' name='user[0][tel]'> 3<input type='text' name='user[1][name]'> 4<input type='tel' name='user[1][tel]'>

とりあえず上記のようなフォームがあるとします。

PHP

1// ここではとりあえずの書き方をします 2// POSTを受け取り$usersへ 3$users = $_POST['user']; 4 5// 出力してみます 6print_r($users);

上記のやり方での出力結果ですが

HTML

1Array( 2 [0] => Array( 3 [name] => AAA 4 [tel] => 1234567890 5 ) 6 [1] => Array( 7 [name] => BBB 8 [tel] => 4567890123 9 ) 10 )

###filter_inputに関して
最近、サイトなどをみているとこの[filter_input]を使ったほうがなどと見るので、使ってみています。
通常?であれば、

PHP

1// 例えばです。 POSTでname='test' 2$test = filter_input(INPUT_POST, 'test');

のような感じでできるのはできているのですが、先ほど記載した例えばのデータの場合の取得方法がイマイチよくわからず、、、
filter_input_arrayなど見てみたのですが、、、理解できていない部分が多いので、例えばのデータのような場合だとどのようになるのか?簡単でよろしいので、教えていただけますでしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

filter_input_array
を使ってみたらいかがでしょうか。
参考
って、すみません書いてありましたね。。。

PHP

1$ags = array( 2 'user' => array('flags' => FILTER_REQUIRE_ARRAY, 3 ), 4); 5//配列のリスト取得 6$list = filter_input_array(INPUT_POST, $ags); 7

投稿2016/07/28 09:17

編集2016/07/28 09:21
roast_chicken

総合スコア254

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Z-TALBO

2016/07/28 10:04

回答ありがとうございます! なるほど、、、、このようにやるのですね。 大変勉強になりました!ありがとうございました!!
guest

0

まぁ普通にfilter_inputでもいいような気はしますが

HTML

1<form method="post"> 2<input type='text' name='user[0][name]' value='AAA'><br> 3<input type='text' name='user[0][tel]' value='1234567890'><br> 4<input type='text' name='user[1][name]' value='BBB'><br> 5<input type='text' name='user[1][tel]' value='4567890123'><br> 6<input type="submit" value="go"> 7</form>

PHP

1$user = filter_input(INPUT_POST, 'user',FILTER_DEFAULT,array('flags'=> FILTER_REQUIRE_ARRAY))?:array(); 2print_r($user); 3?>

投稿2016/07/29 00:53

yambejp

総合スコア114583

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Z-TALBO

2016/07/29 23:25

回答ありがとうございます! なるほど、、、、filter_inputでもそのようなやり方すればできるんですね。。。 こちらの方法も合わせて参考にさせていただいて、やってみたいと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問