如何检测用户是否为同一会话打开两个选项卡?

dar*_*unk 18 php session tabs

我已经完成了使用CakePHP完成的预订申请,该申请涉及结账页面前的几个步骤.在这些步骤之间,我将信息存储在会话中.

它是如何工作的,第1步要求他们填写他们的信息.转到步骤2时,步骤1中的信息将保存到会话对象中.当他们继续进行其他步骤时,重复该过程.结账时,所有数据都会保存到数据库中.

如果用户在浏览器中打开一个应用程序实例,那么一切都很有效.但是一旦他们在同一浏览器中为同一个应用程序打开了另一个页面或另一个选项卡,就会出现问题.

假设他们在选项卡A和选项卡B中打开了两个应用程序实例.在选项卡A中,他们在步骤1中输入了详细信息,然后继续执行步骤2.然后用户在选项卡B中执行相同的操作.

在用户执行结帐时的最后一步,选项卡A中的信息与选项卡B中的信息相同.

现在,我只能认为最好的方法是阻止用户在两个浏览器实例中打开相同的应用程序.

当他们尝试在标签B中打开另一个实例时,有没有办法检测并提示用户先在标签A中完成预订表格?

puf*_*fos 9

1.同样的问题(和解决方案):https://sites.google.com/site/sarittechworld/track-client-windows

2.您可以通过POST或GET发送信息