- ベストアンサー
全ての変数を拾う方法
お世話になっております。 nameや数の異なるフォームからsubmitして全ての変数を拾うような処理をするひとつのファイルを作成したいのですが、どのように書けばよいのでしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> あと、全部セッションに保存するにはどうすればいいのでしょうか? PHP のバージョンよって違いますが PHP 4.0.6 より新しければ <?php session_start(); $_SESSION = $_SESSION + $_POST + $_GET; ?> にて、フォームや URL のクエリーで送られてくる POST や GET がすべてセッションに保存されます。 # ちなみに PHP のマニュアルお持ちですか? http://php.s3.to/man/ で、セッションは配列、外部からくる変数などを読んでくださいね ・POST や GET に関すること http://php.s3.to/man/language.variables.external.html ・セッションに関すること http://php.s3.to/man/ref.session.html ・配列に関すること http://php.s3.to/man/language.types.array.html これだけの情報がタダで得られるんですよ~ がんばってください
- 参考URL:
- http://php.s3.to/man/
その他の回答 (2)
- togino
- ベストアンサー率75% (97/129)
あっ、複数のフォームからもでしたね。 その場合 <input type="submit" name="submit_name" value="type1"> のように submit ボタンに名前を値を設定すれば、PHP 側で if($_POST["sumbit_name"] == "type1"){ のように、フォームごとに分岐させることができます。 ただ、この場合ですと、submit ボタンの表示上の名前まで 変わってしまうのが、私は嫌でして <input type="hidden" name="submit_name" value="type1"> のように、hidden で隠して submit の種類を送るようにしています。
お礼
ご回答ありがとうございます。 お返事が遅くなり申し訳ございません。 あと、全部セッションに保存するにはどうすればいいのでしょうか? 恐れ入りますがよろしくお願いいたします。
- togino
- ベストアンサー率75% (97/129)
<form action="test.php" mathod="post"> <input type="text" name="a"> <input type="hidden" name="b" value="1"> <input type="submit"> </form> のようにして POST すれば、$_POST 変数に全ての変数が入っていると思いますが・・・ test.php <?php foreach($_POST as $post_name => $post_value){ print("name = $post_name, value = $post_value); } ?> 以上より、すべての name と value の組み合わせが得られます。
お礼
度々の回答ありがとうございます。 とりあえずセッションへ全て保存できました。 少し不明な点がありますが、質問してばかりでは仕方が無いので、教えていただいたサイトは難しくて敬遠していたのですがじっくり読んで調べてみます。 本当に助かりました。 ありがとうございました。