Comment détecter si l'utilisateur d'ouvrir deux onglets pour une même session?

J'ai fait une demande de réservation effectuée à l'aide de CakePHP qui implique quelques étapes avant la page de paiement. Entre ces étapes que j'ai stocker les informations dans la session.

Comment il fonctionne, c'est que l'Étape 1 exige d'eux de remplir leurs informations. Lorsque vous allez à l'Étape 2, l'information dans l'Étape 1 sera enregistrée dans l'objet session. À mesure qu'ils avancent dans les autres étapes, le processus se répète. À la fin, lorsqu'ils finalisation de la commande, toutes les données sont alors enregistrées dans la base de données.

Tout fonctionne très bien si l'utilisateur ouvre une instance de l'application dans le navigateur. Mais une fois qu'ils ont une autre page ou un autre onglet ouvert pour la même application dans le même navigateur, le problème se pose.

Disons qu'elles ont deux instance de l'application ouverte dans Un Onglet et Onglet B. Dans l'Onglet Une ils sont entrés dans les détails de l'Étape 1 et passez à l'Étape 2. Ensuite, l'utilisateur fait la même chose dans l'Onglet B.

À la dernière étape, lorsque l'utilisateur effectue un paiement, les informations dans l'Onglet d'Un est la même que dans l'Onglet B.

Maintenant, je ne peux que penser à la meilleure façon est d'empêcher l'utilisateur de l'ouverture de l'application même dans les deux instance du navigateur.

Est-il un moyen de détecter et invite l'utilisateur à remplir le formulaire de réservation dans l'Onglet de premier quand ils essaient d'ouvrir un autre exemple dans l'Onglet B?

InformationsquelleAutor darnpunk | 2011-04-07