我正在浏览器上创建一个应用程序,但我不希望用户在浏览器的某些页面上跳过页面。想一想。如果我希望用户创建一些东西,但是为了让他们能够创建一些东西,他们必须经过第1,2和3页,如果用户在第1页但是然后通过输入url设法跳到第3页会发生什么?它有点混乱
再次处理第1,2,3页,如果用户完成第1页,数据插入数据库,但是如果用户在第2页,那么我不希望他们回到第2页因为我没有希望他们改变以前输入的任何细节。我不希望用户在使用前进浏览器按钮时做类似的事情。
我需要在所有主流浏览器中使用它,IE,Chrome,Firefox,Firefox,Opera
示例代码对我非常非常有帮助。
答案 0 :(得分: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
或者更一般地说,每个页面应该找到没有答案的第一页,并且(如果那不是当前页面)重定向到该页面。