• ベストアンサー

FORMで送信された項目名の格納場所は?

phpをさわりはじめたばかりの者です。 FORMで送信する項目を全て必須項目としたい時、全項目分だけ、$_POST['FORMのNAME値']でFORMのVALUE値を確認すれば目的は達せられると思うのですが、極端な話になりますが、項目数がとても多い場合は、それだけ記述すべき行数が増えてしまうんじゃないかと思いますがどうなんでしょう? count($_POST)でFORMから送られた項目総数が出せるのなら、送られた項目名(NAME値)はどのような記述で出せるのか調べてみましたが、私の調べた限りでは見つけることができませんでした。 例えば、項目総数分だけ、$_POST['項目名']を繰り返す・・・というようなfor文にでもできれば、よりスマートなのかな?と考えては見たものの、送信された項目名がどのような記述で得られるのかがわかりません。 どなたかご存知の方がいらっしゃいましたら、教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

No 1の人の補足 foreach($_POST as $varname=>$varvalue){ 処理 } で良いと思います。 面倒なときに楽をしようとするのがプログラミングの基本ですね。 項目名と変数の関係がだいたい一緒ならこれで良いと思います。 通常は、POSTで入って来る項目や変数は、型も、入力チェック項目も、数もそれぞれ違ったりするので、私自身はこういう方法をとった事はありませんが。

TMEspion
質問者

お礼

アドバイスありがとうございます。 この「as」の存在を知らなかったので良い勉強になりました。 得られる値も希望通りでしたので、質問を締め切らせていただきます。

その他の回答 (1)

  • Ikonos00
  • ベストアンサー率28% (86/302)
回答No.1

普通に増えると思います。 そして、入力チェックとか考えると、 行数はさらに増えると思います。 項目数出さずに、 foreachで回してみるとか…。

TMEspion
質問者

お礼

アドバイスありがとうございます。 希望通りの回答が出ましたので、質問を締め切らせていただきます。

関連するQ&A