"session_write_close"

Pour arriver dans une Page1 il faut se connecter $_session.
La Page1 contrient une iframe page2 qui elle aussi se connecter.
Une fois connecté à la page1 quand etablir une autre connexion pour la page2 je perd la premiere connexion.
J ai essayée d’utiliser “session_write_close” mais apparament je plante.
Est ce que qlq aurait une idée?

Si tu peux mieux l’expliquer (ce que tu fais, etc), on verra.

Sinon, non.

Je travaille sur une application web à plusieurs utilisateurs en utilisant des sessions pour la connexion à bdd Mysql chacun selon son privilege. J’ai utilisé des cadres (Frameset) dans certaines parties.
Chaque utilisateur une fois connecté peut dans la page principale etablir une autre connection vers un autre serveur ou bien le meme serveur vers la meme bdd ou vers une bdd differente.
Une fois qu il ait établi la nouvelle connexion l’ancienne cnnexion disparait .
J’utilise des cookies pour la gestion du graphisme : position des objet et fenetres filles…
Pour les connexions $_session
Le probleme c est dans les sessions.
J ai pensé à liberer la 1ere session(unset) avant détablir une nouvelle mais c est stupide.
J ai essayée session_write_close apparement elle enregistre la session et donne la main à la deuxieme connexion et pour la récuperer le start sesson.(C le principe).MAIS rien ne marche pour etablir deux connexions sur la meme page.
Tester sous IE et FF le meme probleme.
J’espere que c plus clair.

J’espère que j’ai mal compris : tu n’essaies pas de mettre une connexion à une base de données dans une session ? Oo

En fait je crois que c’est un problème de vocabulaire : qu’est-ce que tu appelles “connexion” ?
Edité le 16/10/2008 à 09:35

Pareil.

C’est dangereux, et tu bouffes des ressources serveur.

Maintenant, si tu veux le faire, c’est que tu écrases tes données. Faut que tu gères spécifiquement la N-ième connexion ou que tu interdises l’option (ce que j’aurais fait, c’est trop dangereux).

Bonjour
Merci pour vos réponse.Sinon c vrai il y a un probleme de vocabulaire.
Je repose le probleme plus simplement:
J ai une page qui contient des cadres et chaque cadre contient une page avec une session differente.Comment passer d’un cadre à l’autre sans perdre la session qui lui est propre.
J ai essayée session_write_close pour maintenir la session avant le lien qui mene vers chaque cadre.Mais ça ne marche pas.
Edité le 16/10/2008 à 15:37

La session est propre au navigateur, donc si tu as x frames qui pointent vers le même site, elles partageront la même session (de la même manière que tu es toujours loggé sur un site si tu y navigues dans un autre onglet du navigateur). Il faut donc pour éviter les conflits que chaque page utilise des noms différents pour les variables de session. Si ce n’est pas directement possible (par exemple, si toutes les frames appellent le même script php), tu peux essayer de mettre un préfixe au début des noms de variable de session, préfixe passé par l’url.

Par exemple, la première frame appelle script.php?prefixe=abc qui stocke des variables de la forme $_SESSION[‘abc_mavariable’], et la seconde frame appelle script.php?prefixe=dce qui stocke des variables de la forme $_SESSION[‘dce_mavariable’].

Ou encore une fois j’ai mal compris le problème :stuck_out_tongue:

Merci
Mais la page principale m 'appartient mais les autres qui se chargent dans d’autres cadres ne m appartiennent pas.Donc pour changer le nom de session c est pas faisable.

Donc tu ne peux rien faire. A moins d’ouvrir un nouveau navigateur dans tes cadres, et dans ce cas, tu dois le faire soit via un plugin pour IE, soit via une extension pour Fx, et pour Opera, je ne sais pas. (pour Safari, c’est de la merde, donc on s’en fout de toute façon:D)

Ou désactiver les cookies et modifier l’id de session dans chacun des cadres… Bref, ça ressemble à une impasse.

Un plugin pour IE? ça existe un plugin qui fait ça?

C est résolu!
Pour maintenir une session au sein d’un cadre il faut utiliser “session_write_close” mais au bon endroit.
Comme ça je navigue entre les cadres avec des sessions differentes.Mais il faut placer “session_write_close” avant le lien qui mene vers un deuxieme cadre.C tout.
Merci pour tout le monde.