Garder un session ouverte quand utilisateur ouvre autre fenetre [Résolu]

Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Dernière intervention
12 mai 2010
- - Dernière réponse : aforpien
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Dernière intervention
12 mai 2010
- 4 déc. 2009 à 15:09
Bonsoir à tous,

J'ai developpé un intranet pour ma société, et je suis bloqué sur un problème au niveau des sessions utilisateurs. J'ai créer des modules d'authentification qui sont fonctionnels, mais je souhaiterai juste savoir comment faire en sorte que la session ouverte puisse etre récupéré quand on ouvre une seconde occurence du site dans une nouvelle fenetre du navigateur. Est-ce-que je suis obligé de passer par les cookies, c'est à dire d'insérer un identifiant de session dedans et de tester à chaque ouverture de l'intranet si la session est active par rapport à l'id que je récupère dans celui-ci ? ou est-ce-qu'il existe une autre solution ?
merci d'avance à vous et bonne soirée
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
2
Merci
Hello,

Le gestionnaire de sessions de PHP utilise déjà les cookies, par défaut. Inutile donc de manipuler des cookies en plus.
Ce qu'il y a, c'est que tu n'as pas dû configurer les cookies du gestionnaire de sessions. Tu peux pour cela utiliser la fonction session_set_cookie_params().
A priori, quand on ouvre une nouvelle fenêtre de son navigateur (ou un nouvel onglet) la session doit être trouvée et restaurée, sauf que par défaut, la durée de vie du cookie est 0 : cela signifie qu'il est supprimé à la fin de la session (fermeture du navigateur), ou non récupéré lors de l'ouverture d'une nouvelle fenêtre.
Un petit coup d'oeil à la doc concernant la configuration par défaut des sessions ne ferait pas de mal ;)

Pour changer la configuration des cookies du gestionnaire de sessions, tu peux donc, comme indiqué plus haut, utiliser la fonction session_set_cookie_param() ou définir chaque directive une à une (ou uniquement celles dont tu as besoin) avec ini_set() :
ini_set('session.cookie_lifetime', 3600); // Durée de vie du cookie 1h


--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de neigedhiver
Messages postés
2492
Date d'inscription
jeudi 30 novembre 2006
Dernière intervention
14 janvier 2011
0
Merci
Salut,

Comment gères-tu les sessions actuellement ?
En fait, tu n'as pas besoin de gérer les cookies, le gestionnaire de sessions de PHP s'en charge, pour peu qu'il soit configuré pour les utiliser.
Pour conserver la session utilisateur lors de l'ouverture d'une nouvelle fenêtre, effectivement, il est indispensable d'utiliser des cookies. A moins que l'ouverture de cette nouvelle fenêtre ne se fasse suite à un clic sur une page du site, auquel cas il est possible de passer l'identifiant de session dans l'URL, mais bon, c'est moins élégant et moins sécurisé.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Commenter la réponse de neigedhiver
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Dernière intervention
12 mai 2010
0
Merci
Bonjour,

Merci pour ta réponse. Actuellement, je gère les sessions uniquement avec Php, je fais un "session_start()" à l'authentification. En fait ce que je voudrai c'est que l'authentification soit conservée si j'ouvre une autre fenetre du navigateur, mais pas forcément en cliquant depuis la fenetre déjà ouverte. Donc si je comprend bien, dans mon cas, je doit utiliser les cookies ? c'est à dire d'insérer un identifiant de session dedans et de tester à chaque ouverture de l'intranet si la session est active par rapport à l'id que je récupère dans celui-ci ?
Merci à toi !
Commenter la réponse de aforpien
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Dernière intervention
12 mai 2010
0
Merci
Un grand merci !!! Je regarde tout cela et vais essayer de suite ^^
Désolé pour le retard de la réponse, et merci pour la votre !
Commenter la réponse de aforpien
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Dernière intervention
12 mai 2010
0
Merci
Cependant j'aurai une autre question : Comment la page sait-elle que la session est ouverte ? meme avec ce parametre, la session n'est pas ouverte quand j'ouvre une seconde fenetre. Dois-je créer un code qui doit regarder si l'on récupère un cookie ou quelque chose dans le genre ?
Commenter la réponse de aforpien
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Dernière intervention
12 mai 2010
0
Merci
Merci c'est bon j'ai trouvé :)
Commenter la réponse de aforpien

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.