複数のルーターで構成コマンドの実行を駆動するアプリケーションを作成しています。設計方法は次のとおりです。
Page 1 Page 2 Page 3
+--------+ +--------+ +--------+
| data | PRG | data | PRG | steps |
| enter |------->| review |------->| exec |---+
| page | | page | | page | |
+--------+ +--------+ +--------+ | Ajax
^ |
| |
+--------+
- ユーザーは最初のページでフォームに入力します。
- システムはさらにデータをフェッチし、2 ページ目の別のフォームでレビュー用に表示します。
- 構成手順は、Ajax リクエストを使用して 3 ページ目から実行されます。
uniqid() で ID を生成し、それをフォームの隠し要素に入れることで、複数のブラウザー タブ/ウィンドウを処理します。各タブ/ウィンドウのデータは に保存され$_SESSION[$ID]
ます。Post-Redirect-Get は、厄介なフォームの再送信を取り除くために使用されます。
問題は、ユーザーがブラウザの「戻る」ボタンを押すと、新しい ID が生成されることです。これにより$_SESSION
、Web フォームが同期しなくなります。スティッキー フォームを使用してアプリをウィザードのように動作させることを計画していましたが、タブ/ウィンドウが存在している間 ID を同じままにする必要があります。
「戻る」ボタンのクリックと新しいタブの表示を区別する方法を教えてください。
ありがとう!PN