我正在开发一个页面,用户可以登录并演示一些功能。我只想让用户每天演示一次。
一个小例子:
我有一个带3个按钮的网页(涉及3种不同的场景)。在页面加载时,我查找数据库并检查当前登录用户是否运行了3个可用场景中的任何一个(通过审计表)。根据结果启用/禁用每个按钮。如果启用了任何按钮,那么他们还没有运行该演示。通过单击相对按钮,演示运行记录将写入审计表,并且该按钮被禁用。
这工作正常,但是,我意识到当我刷新页面(并确认我想重新提交信息)时,演示会再次运行。
如何阻止这种情况发生?我只需要允许用户运行一次演示!
感谢。
答案 0 :(得分:2)
我建议你更改表单提交以使用Post/Redirect/Get pattern来避免重新提交,如果他们在演示页面上点击刷新。
此外,您似乎应该能够在将记录写入审计表的位置更改代码,以检查记录是否已存在,如果是,则返回不同的结果。我对这种方法非常谨慎。浏览器的“刷新”功能通常不是您应该尝试阻止的。如果用户在演示过程中点击“刷新”会发生什么?
答案 1 :(得分:0)
您不仅可以检查页面加载以启用/禁用按钮,还可以在按钮事件上验证是否已执行该任务