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
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
A voir également:
- Pb de sessions php
- Easy php - Télécharger - Divers Web & Internet
- Nombre de sessions maximum atteint, merci de vous reconnecter plus tard ✓ - Forum Réseaux sociaux
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Estelle vient de verrouiller sa session d'ordinateur. que peut-on dire ? ✓ - Forum Windows 7
- Estelle vient de verrouiller sa session d’ordinateur. que peut-on dire ? ✓ - Forum Windows
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
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??
vous utilsez une base de données ou non
vous pouvez m'expliquer bien qu'est ce que vous voulez faire??
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
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,
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,
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
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
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
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
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
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
18 août 2008 à 12:03
J'ai réussi à faire le lien entre les deux base, mais je n'arrive pas à fusionner les variables super globale php
merci