フォームは回答をサーバーに送り返します。サーバーはこれらの回答を検証する必要があります。回答が有効な場合は、それらをデータベースに保存する必要があります。回答が無効な場合は、おそらくユーザーの入力が取り込まれたフォームを再レンダリングし、何らかのエラーを表示して、このプロセスを繰り返します。
ユーザーの回答が有効な場合は、それらをデータベースに書き込み、ユーザーを次のページにリダイレクトします。この次の要求では、最初のページに対する回答の存在を使用して、ページ 2 にアクセスできるかどうかを判断できます。そうでない場合は、最初のページにリダイレクトする必要があります。
各ページ内の非常に単純化されたロジックは、次のようになります。
page1.php
Do I have answers for page 1 questions?
No: Render page 1 questions
Yes: Redirect to page 2
page2.php
Do I have answers for page 1 questions?
No: redirect to page 1
Yes:
Do I have answers for page 2 questions?
No: Render page 2 questions
Yes: Redirect to page 3
page3.php
Do I have answers for page 1 questions?
No: redirect to page 1
Yes:
Do I have answers for page 2 questions?
No: Redirect to page 2
Yes:
Do I have answers for page 3 questions?
No: Render page 3 questions
Yes: Render "you are finished" page
または、より一般的には、各ページは回答のない最初のページを見つけ、(それが現在のページでない場合) そのページにリダイレクトする必要があります。