• ベストアンサー

セッション PHPとHTML

form1.htmlのaction先にorder.phpを指定し、そのorder.phpで$_POSTを使ってform1.htmlのフォーム情報を取得します。その後、order.phpはheader(Location)でform2.htmlをブラウザ上に表示させます。 form2.htmlはaction先が同じorder.phpになっており、ifで動作を制御しています。form2.htmlのsubmitボタンを押すと、画面上にorder.phpにより、今まで2つのフォームで入力した内容が表示されます(order.phpはsessionですべての変数を保持しています)。 この時「form1の内容を訂正」「form2の内容を訂正」というリンクないしボタンを設けて、該当フォームに飛べるようにしたいのです。 このリンク/ボタンで該当フォームに飛んだ場合、入力内容がフォームに表示されるようにするには、どのようにすればいいのでしょうか? いまいちsessionの詳しい使い方が分からなくて困っています・・・。

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

  • ベストアンサー
  • maura
  • ベストアンサー率46% (48/104)
回答No.3

form1_modify.php : Form1を修正するページ form2_modify.php : Form2を修正するページ の2つのページを作成すればよいと思います。 プログラムの問題ではなく 画面遷移の仕様をどうしたらいいのか って話だと思いました。 order.php ひとつで やろうとしているようですが order1.php order2.php と分けて作ったほうが 混乱せずによいかと思います。

rusya
質問者

お礼

 答えてくださった皆さん、ありがとうございました。  恐縮ですが、こちらでまとめてお礼を言わせていただきます。  一応、問題のPHPプログラムは完成に近づきつつあるのですが、別の問題が発生して進めなくなってしまいましたため、一度この質問を締め切って新しく質問したいと思います。

その他の回答 (2)

回答No.2

hiddenにて値をそれぞれ格納しておき、 form1の内容訂正のボタンには、 <input type="hidden" name="type" value="form1"> form2の内容訂正ボタンには、 <input type="hidden" name="type" value="form2"> をしこんでおいて、(当然 formを分ける) order.php にて、$_POST["type"] で振り分ける 2.セッションを利用しているなら、 form2の内容訂正のボタンを<a href="order.php?form1"> form2の内容訂正のボタンを<a href="order.php?form2"> とし、 QUERY_STRINGから振り分ける というのはどうでしょうか?

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

どうすればいいと言われると、if文で分岐させればいいのではないでしょうか? ご質問の動作をさせるとすれば、order.phpで完結させて、HTMLファイルに飛ばすことはないと思います。(PHPでやったほうが単純になる) なにかしらのsessionを使用しないといけない条件があるのでしょうか?

関連するQ&A