• ベストアンサー

全ての変数を拾う方法

お世話になっております。 nameや数の異なるフォームからsubmitして全ての変数を拾うような処理をするひとつのファイルを作成したいのですが、どのように書けばよいのでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • togino
  • ベストアンサー率75% (97/129)
回答No.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/
q-tip
質問者

お礼

度々の回答ありがとうございます。 とりあえずセッションへ全て保存できました。 少し不明な点がありますが、質問してばかりでは仕方が無いので、教えていただいたサイトは難しくて敬遠していたのですがじっくり読んで調べてみます。 本当に助かりました。 ありがとうございました。

その他の回答 (2)

  • togino
  • ベストアンサー率75% (97/129)
回答No.2

あっ、複数のフォームからもでしたね。 その場合  <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 の種類を送るようにしています。

q-tip
質問者

お礼

ご回答ありがとうございます。 お返事が遅くなり申し訳ございません。 あと、全部セッションに保存するにはどうすればいいのでしょうか? 恐れ入りますがよろしくお願いいたします。

  • togino
  • ベストアンサー率75% (97/129)
回答No.1

<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 の組み合わせが得られます。

関連するQ&A