- ベストアンサー
セッション 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の詳しい使い方が分からなくて困っています・・・。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
form1_modify.php : Form1を修正するページ form2_modify.php : Form2を修正するページ の2つのページを作成すればよいと思います。 プログラムの問題ではなく 画面遷移の仕様をどうしたらいいのか って話だと思いました。 order.php ひとつで やろうとしているようですが order1.php order2.php と分けて作ったほうが 混乱せずによいかと思います。
その他の回答 (2)
- panerai777
- ベストアンサー率34% (9/26)
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)
どうすればいいと言われると、if文で分岐させればいいのではないでしょうか? ご質問の動作をさせるとすれば、order.phpで完結させて、HTMLファイルに飛ばすことはないと思います。(PHPでやったほうが単純になる) なにかしらのsessionを使用しないといけない条件があるのでしょうか?
お礼
答えてくださった皆さん、ありがとうございました。 恐縮ですが、こちらでまとめてお礼を言わせていただきます。 一応、問題のPHPプログラムは完成に近づきつつあるのですが、別の問題が発生して進めなくなってしまいましたため、一度この質問を締め切って新しく質問したいと思います。