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

aforpien 118 Messages postés lundi 6 novembre 2000Date d'inscription 12 mai 2010 Dernière intervention - 30 nov. 2009 à 22:39 - Dernière réponse : aforpien 118 Messages postés lundi 6 novembre 2000Date d'inscription 12 mai 2010 Dernière intervention
- 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
neigedhiver 2492 Messages postés jeudi 30 novembre 2006Date d'inscription 14 janvier 2011 Dernière intervention - 1 déc. 2009 à 13:32
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à ;)

Merci neigedhiver 2

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de neigedhiver
neigedhiver 2492 Messages postés jeudi 30 novembre 2006Date d'inscription 14 janvier 2011 Dernière intervention - 30 nov. 2009 à 22:49
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
aforpien 118 Messages postés lundi 6 novembre 2000Date d'inscription 12 mai 2010 Dernière intervention - 1 déc. 2009 à 13:11
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
aforpien 118 Messages postés lundi 6 novembre 2000Date d'inscription 12 mai 2010 Dernière intervention - 4 déc. 2009 à 14:35
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
aforpien 118 Messages postés lundi 6 novembre 2000Date d'inscription 12 mai 2010 Dernière intervention - 4 déc. 2009 à 14:50
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
aforpien 118 Messages postés lundi 6 novembre 2000Date d'inscription 12 mai 2010 Dernière intervention - 4 déc. 2009 à 15:09
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.