我已经用CakePHP做了一个预订应用程序,它涉及到结账页面之前的几个步骤。在这些步骤之间,我将信息存储在会话中。
它的工作原理是,步骤1要求他们填写他们的信息。当转到步骤2时,步骤1中的信息将保存到session对象中。当它们在其他步骤中进行时,该过程重复。最后,当他们结帐时,所有数据都会保存到数据库中。
如果用户在浏览器中打开应用程序的一个实例,一切都会正常工作。但是,一旦他们在同一浏览器中为同一应用程序打开了另一个页面或另一个选项卡,问题就出现了。
假设他们在Tab A和Tab B中打开了应用程序的两个实例。在Tab A中,他们输入了步骤1中的详细信息,并继续执行步骤2。然后,用户在Tab B中执行相同的操作。
在用户结账的最后一步,Tab A中的信息与Tab B中的信息相同。
现在,我只能认为最好的方法是防止用户在两个浏览器实例中打开相同的应用程序。
当用户尝试在选项卡B中打开另一个实例时,是否可以检测并提示用户先完成选项卡A中的预订表单?
https://stackoverflow.com/questions/5574970
复制相似问题