Pb de sessions php

Résolu/Fermé
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 - 15 août 2008 à 12:23
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 - 18 août 2008 à 16:02
Salut tt le monde,

J'ai en core un pb à la noix en php.
Je suis entrain d'essayer de faire communiquer 2 fenetre dans generer par deux module independant qui ont pour le moment chacun une session independante.

Mon voeux le plus chere, c'est que
- soit ces deux module du meme logicielle utilise la meme session
- soit réussir à sortir les données d'une session pr la communiquer à l'autre,

mais je sais pas comment faire...

merci pr votre aide

@plus

4 réponses

hafidodido Messages postés 40 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 11 octobre 2008 10
Modifié par 00lina00 le 24/07/2010 à 00:27
slt
vous utilsez une base de données ou non
vous pouvez m'expliquer bien qu'est ce que vous voulez faire??
-1
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 31
18 août 2008 à 12:03
j'utilise une base de donnée mysql. Enfin pour etre précis chacun des modules utilise une base de donnée mysql, dont je fais la fusion actuellement.
J'ai réussi à faire le lien entre les deux base, mais je n'arrive pas à fusionner les variables super globale php

merci
-1
kryoportail Messages postés 222 Date d'inscription dimanche 10 août 2008 Statut Membre Dernière intervention 22 mai 2014 125
Modifié par 00lina00 le 24/07/2010 à 00:27
Salut,

Effectivement c'est un problème à la noix ! lol

Je dirais que faire 'cohabiter' 2 sessions PHP pour le même utilisateur est impossible.

Pour répondre à cette question, il faut savoir comment les session PHP fonctionnent :

- Tu fais un 'session_start();', PHP crée un tableau en mémoire pouvant contenir ce que j'appelle l'environnement utilisateur (le fameux $_SESSION[]) et un identifiant permettant de le retrouver.
- Lorsque PHP enverra la page au navigateur, il définit un Cookie nommé par defaut 'SESSIONID', ce dernier contient l'identifiant de la session de l'utilisateur.
- Le navigateur en recevant la page crée le cookie sur l'ordinateur du client (rattaché au domaine).
- Lorsque le navigateur effectuera une nouvelle requête au près du serveur, il renverra le cookie 'SESSIONID' si il n'a pas expiré (généralement en dessous de 30 minutes).
- PHP cherche en mémoire le tableau $_SESSION[] à partir de l'identifiant contenu dans le cookie renvoyé par le navigateur.
- Le développeur peut alors récupérer les objets précédemment placé dans le tableau $_SESSION[]...
- Et ainsi de suite.

Comme il ne peut y avoir qu'un seul cookie 'SESSIONID' pour le domaine, il ne peut y avoir qu'une session par utilisateur (du moins par navigateur) !...


La seule solution que je voit, c'est de créer 2 sections dans ton tableau SESSION, un pour chaque module :
$_SESSION['module1] =array();
$_SESSION['module2] =array();

Tu placeras alors tes variables utilisateurs dans les 2 tableaux et le tour est joué !..

Amicalement,
-1
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 31
18 août 2008 à 12:01
Merci, de m'avoir répondu.

Mon probleme c'est que va savoir pourquoi il me crée une session phpid et une session webmailid a opartir du meme domaine... pour chaque utilisateur.

Ca vient surement du fait que j'ai 2 session_start... Mais si j'en supprime un pluis rien ne marche...

Comme je l'ai dit plus haut j'essaie de fusionner 2 modules en un seul pour une interface plus user friendly. Il est clair que je préférerais travailler sur la meme session mais je sais pas comment indiquer a mon module webmail qu'il lui faut utiliser la session principal...

Au fait désolé de pas avoir répondu plus tot mais je termine à 17heure et j'allume pas mon pc le weekend... concession fait a ma copine lol

@plus merci
-1
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 31
18 août 2008 à 16:02
Alors pour les lulus que ça intéresse y a qqn d'autre qui avait codé le module de mon webmail. Et ce qqn a utiliser la fonction init_set au lieu des fonction de session tel que session_name() pour définir les cookie et les variable interne. du coup je trouvais pas ou étais uinstancie ce cookie.

J'ai enfin trouvé ce truc que j'ai modifie et tout marche
ini_set('session.name', 'PHPSESSID'); (c'est quand même *** de mettre un init_set pour instancié la valeur par defaut....)

Merci pour ceux qui onnt essayer de m'aider

@plus
-1