各ステップが独自のアクションに投稿される 3 ステップのフォームがあります。アクションは次のステップにリダイレクトされます。データはセッション スコープに格納されます。ユーザーが投稿リクエスト以外からフォーム ハンドラーにアクセスできないようにするフィルターがあります。
ただし、誰かがステップのアドレスを手動で入力するのを止めるものは何もありません。この問題に対処するために、セッションで currentStep 変数を設定しました。
<!--- Some data is processed here --->
<cfset session.currentStep = "stepTwo">
ステップ 2 では、structkey をチェックします。
<cfif NOT session.currentStep = "stepTwo">
<!--- redirect to #session.currentStep# --->
このアプローチは機能しますが、大きな欠点があります。ユーザーはブラウザ ウィンドウで [戻る] ボタンを押すことも、入力済みのデータを編集することもできません。
マルチステップ フォームを実装するためのベスト プラクティスは何ですか? プロセスを改善して戻るボタン機能を組み込むことはできますか?