Pb de sessions php
Résolu
l_epais
Messages postés
142
Statut
Membre
-
l_epais Messages postés 142 Statut Membre -
l_epais Messages postés 142 Statut Membre -
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
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
A voir également:
- Pb de sessions php
- Expert php - Télécharger - Langages
- Easy php - Télécharger - Divers Web & Internet
- Ouverture de session gmail - Guide
- Www.yahoo.fr ouverture de session - Guide
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
4 réponses
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,
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,
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
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
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
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
J'ai réussi à faire le lien entre les deux base, mais je n'arrive pas à fusionner les variables super globale php
merci