質問: はじめまして 始めて投稿させていただきます。 概念的な質問で恐縮ですが、PHPの画面遷移時の最善策について、教えていただきたいと思います。 現在、ECではないのですが予約に関するサイトの開発案件を抱えておりまして、画面遷移時のデータ保持に関するところで壁にぶつかりました。 操作動線の流れとしては 1.トップ画面で商品検索 2.商品と個数を送信 3.発注内容確認表示と受け取りの支店選択(支店が出張先になることがあり、状況に応じて住所入力) 4.最終内容確認画面 5.予約発注確定 (予約確定後には、先方の管理画面で依頼内容の一覧や集計ができるようになっている) となりますが、内容修正のために前の画面に戻ることがあり、前の画面に戻るときは流れに逆行する形になるので、ユーザーから受け取った$_POSTを扱うことができないので、何らかの方法でデータを保持しなければならないと思うのですが、 1.セッション変数 2.mySQLに画面ごとの情報を保存 3.hiddenフィールドにハッシュ化して保持 を考えましたがどのような方法が一般的なのでしょうか? また、セッション変数を使う場合、メモリーの圧迫などを考慮する必要はあるのでしょうか? 特に、前の画面に戻るときのデータ保持に難しさを感じております。 以上、何卒よろしくお願いします。
回答: 登録の流れとしては 入力→バリデート→修正→確定前最終確認→確定・登録→登録完了 この内、入力から最終確認までの間は、なんでもいい 一番いいのはセッションですが、普通にINPUTで引き継いでもいいし クッキーでもいい。逆にhiddenである必要はない 登録前のデータをDBに保存しておく必要もない 最終確認から確定・登録へデータを引き継ぐ場合は セッションの一択 ほかの方法だとユーザーが悪意を持って偽装できるので 最終確認画面をだす意味がなくなる > > 内容修正のために前の画面に戻る > > > 前の画面に戻るのではなく修正画面に進んでください