坦白地说,在v1.0中,要求三次表单提交的功能会带来太多麻烦,其中
我怀疑这不是恶意行为(但不能排除)。更有可能的是,用户开始操作,被打断,忘记他们开始或找不到原始选项卡,所以再次开始(然后稍后找到原始选项卡并尝试第二次完成操作)。
由于我正在使用PHP编码,可以在表单提交时检测会话数据的存在(如果用户打开其他选项卡,我该如何使用JS进行检测 - 我想我需要Ajax对吗?)。
因此,每次开始操作时,我都会检查会话数据中的标志,如果设置了,我就重新加载到“对不起,Dave。我害怕那样做”页面,否则我将设置标志并继续(记得在操作结束时清除它)。
我想这样会起作用,但是:
1)将浏览器应用程序限制为单个选项卡/实例是否可接受?
2)我应该在v2.0中尝试允许多个实例吗?
还有其他的评论、帮助或建议吗?
$_SESSION
会话数据保存了所有中间内容,只是为了让用户开始操作,然后打开第二个选项卡并执行第二个操作,这些操作都会覆盖会话数据。我怀疑这不是恶意行为(但不能排除)。更有可能的是,用户开始操作,被打断,忘记他们开始或找不到原始选项卡,所以再次开始(然后稍后找到原始选项卡并尝试第二次完成操作)。
由于我正在使用PHP编码,可以在表单提交时检测会话数据的存在(如果用户打开其他选项卡,我该如何使用JS进行检测 - 我想我需要Ajax对吗?)。
因此,每次开始操作时,我都会检查会话数据中的标志,如果设置了,我就重新加载到“对不起,Dave。我害怕那样做”页面,否则我将设置标志并继续(记得在操作结束时清除它)。
我想这样会起作用,但是:
1)将浏览器应用程序限制为单个选项卡/实例是否可接受?
2)我应该在v2.0中尝试允许多个实例吗?
还有其他的评论、帮助或建议吗?
$_SESSION
始终与浏览器同步。 - Wyzard