Discussion:
Gerer Multi session PHP (firefox)
(trop ancien pour répondre)
koneko
2009-02-24 15:17:53 UTC
Permalink
Bonjour,
Je met en ligne un formulaire pour la création de fichiers xml, et je voudrais
gérer le fait qu'un utilisateur (il n'y a pas de gestion de login) puisse ouvrir
et parcourir deux foi le formulaire dans deux onglets de firefox (par exemple).

Car pour le moment si l'utilisateur fait ainsi, comme il partage la même
session avec ses deux onglets, l'un des formulaire écrase les variable de
l'autre et vis versa...

Je cherche donc à trouver un moyen pour que les deux onglets aient des session
différentes.

Je n'ai pour le moment trouvé aucun moyen de gérer ce genre de problèmes si
quelqu'un pouvait me donner une idée.
Merci
Olivier Miakinen
2009-02-24 15:45:19 UTC
Permalink
Bonjour,
Je mets en ligne un formulaire pour la création de fichiers xml, et je voudrais
gérer le fait qu'un utilisateur (il n'y a pas de gestion de login) puisse ouvrir
et parcourir deux fois le formulaire dans deux onglets de firefox (par exemple).
Car pour le moment si l'utilisateur fait ainsi, comme il partage la même
session avec ses deux onglets, l'un des formulaire écrase les variable de
l'autre et vis versa...
Vu que c'est le même navigateur vers la même URL, tu ne peux bien sûr
pas tout mettre dans la session -- en supposant que tout est géré de
façon transparente par cookie.

Une idée pourrait être de rajouter dans le formulaire un champ de type
hidden, dont la valeur sera différente à chaque fois que tu génères la
page contenant le formulaire. Ce champ permettra alors de distinguer
deux appels distincts par la même personne sur la même machine.
Je cherche donc à trouver un moyen pour que les deux onglets aient des sessions
différentes.
Au fait, à quoi te servent les sessions ? Si tu n'en as pas besoin, tu
n'en mets pas, et c'est tout : les appels au formulaire seront ainsi
naturellement indépendants les uns des autres.
Je n'ai pour le moment trouvé aucun moyen de gérer ce genre de problèmes si
quelqu'un pouvait me donner une idée.
À tout hasard, tu peux peut-être aussi adapter ce cas (concernant
plusieurs applications) à ton propre cas (application unique) :
http://php.developpez.com/faq/?page=sessions#sessions_cohabitation


P.-S. : Par simple curiosité, est-ce que tu habites en Inde ? Et si ce
n'est pas le cas, pourquoi avoir choisi une adresse chez un hébergeur
indien ?


Cordialement,
--
Olivier Miakinen
Pascal PONCET
2009-02-24 19:32:15 UTC
Permalink
Post by koneko
Je cherche donc à trouver un moyen pour que les deux onglets aient des session
différentes.
Bonjour,

Pas sûr d'avoir tout compris mais je vais quand-même essayer de répondre.

Le même script serveur est appelé par plusieurs onglets, dans le même
navigateur, sur le même poste client, donc :
=> la même chose s'affiche dans tous les onglets;
=> les onglets partagent la même session;
=> la modification des données de session par un onglet affecte celles
des autres onglets.

Pour éviter ça, il s'agit de différencier les variables d'une même
session, peut-être avec des identifiants uniques.
Voir : http://fr3.php.net/manual/fr/function.uniqid.php

Si chaque onglet reçoit un identifiant unique dans un champ caché du
formulaire, lorsque le formulaire est renvoyé, l'identifiant peut alors
servir à retrouver les données correspondantes.

Cordialement,
Pascal

Loading...