Pb de sessions php

Résolu
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

--
PS: N'oubliez pas de changer le statuts de vos post une fois qu'on a répondu entièrement a votre question
Configuration: Windows XP
Firefox 3.0.1

4 réponses

  1. slt
    vous utilsez une base de données ou non
    vous pouvez m'expliquer bien qu'est ce que vous voulez faire??
    -1
    1. 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
  2. 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
    1. 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
      1. 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