4

ブラウザでアプリケーションを作成していますが、ブラウザの特定のページでユーザーがページをスキップできないようにします。これを考えてください。ユーザーに何かを作成してもらいたいが、何かを作成できるようにするには、ページ 1、2、および 3 を通過する必要があります。ユーザーがページ 1 にいて、URL を入力してページ 3 にスキップするとどうなりますか? それは一種のそれを台無しにします

再びページ 1、2、3 を処理します。ユーザーがページ 1 を完了すると、データがデータベースに挿入されますが、ユーザーがページ 2 にいる場合は、ページ 2 に戻りたくありません。以前に入力した詳細を変更します。ブラウザの進むボタンを使用するときに、ユーザーに同様のことをさせたくありません。

IE、Chrome、Firefox、Firefox、Opera などのすべての主要なブラウザで動作する必要があります。

サンプルコードは私にとって非常に役に立ちます。

4

1 に答える 1

0

フォームは回答をサーバーに送り返します。サーバーはこれらの回答を検証する必要があります。回答が有効な場合は、それらをデータベースに保存する必要があります。回答が無効な場合は、おそらくユーザーの入力が取り込まれたフォームを再レンダリングし、何らかのエラーを表示して、このプロセスを繰り返します。

ユーザーの回答が有効な場合は、それらをデータベースに書き込み、ユーザーを次のページにリダイレクトします。この次の要求では、最初のページに対する回答の存在を使用して、ページ 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
    

または、より一般的には、各ページは回答のない最初のページを見つけ、(それが現在のページでない場合) そのページにリダイレクトする必要があります。

于 2013-01-07T04:15:42.313 に答える