Gestion + durée des sessions en PHP

Résolu/Fermé
Coutcout86 Messages postés 195 Date d'inscription lundi 23 novembre 2009 Statut Membre Dernière intervention 26 mai 2016 - 18 févr. 2015 à 09:33
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 - 18 févr. 2015 à 14:05
Bonjour,

Je suis en train de développer une application en PHP et j'utilise les sessions.
Pour comprendre un peu mon application j'ai un système d'authentification avec un login et un mot de passe.

Lorsque l'utilisateur est connecté une session est créée.
Or je n'ai pas touché à la durée des sessions et au bout d'un certain moment (valeur par défaut du PHP.ini je suppose) je perds ma session et donc mon utilisateur.

Alors ne sachant pas trop comment m'y prendre concernant la gestion des sessions je souhaite avoir de l'aide

Ce que j'aimerais c'est tester si la session est expirée ou non et si elle est expirée on retourne à la page d'authentification (ou on se déconnecte).

Alors j'ai bien pensé au session_destroy mais je ne sais pas si c'est la meilleure solution.

Pourriez-vous m'aider à résoudre cette problématique ?

Merci d'avance.

2 réponses

lolerki Messages postés 606 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 1 mars 2017 102
Modifié par lolerki le 18/02/2015 à 09:56
Bonjour,

Je ne comprends pas trop ton problème, mais si tu veux te déconnecter session_destroy est OBLIGATOIRE pour toutes déconnexion d'un utilisateur.
En ce qui concerne la durée je te conseil de crée un cookie avec une durée déterminé, comme cela il expire au bout d'un temps donnée. N'oublie pas de le détruire (avec un temps inférieur au cookie crée) lors du session_destroy

PS : J'ai eu un problème avec les cookie je te donne mon sujet (résolu) cela te permettra de voir comment détruire une session.
https://forums.commentcamarche.net/forum/affich-31184976-detruire-une-session
0
Coutcout86 Messages postés 195 Date d'inscription lundi 23 novembre 2009 Statut Membre Dernière intervention 26 mai 2016
18 févr. 2015 à 10:43
En fait ce que je souhaite faire c'est d'être déconnecté automatiquement de l'applications lorsque la session n'existe plus.

Je fais des insertions dans une base de données avec le nom de l'utilisateur connecté or quand la session n'existe plus je n'ai plus d'utilisateur donc ça pose problème. Ensuite je donne accés à des fonctionnalités selon le rôle de l'utilisateur or lorsque la session n'existe plus le rôle n'existe plus non plus et la fonctionnalité n'est plus présente.

Est-ce que tu comprends mieux ma problématique?
0
lolerki Messages postés 606 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 1 mars 2017 102 > Coutcout86 Messages postés 195 Date d'inscription lundi 23 novembre 2009 Statut Membre Dernière intervention 26 mai 2016
Modifié par lolerki le 18/02/2015 à 10:47
Je te confirme que pour cela il faut détruire la session est donc session_destroy. Mais détruire une session quand l'utilisateur quitte je ne sais pas si c'est possible. Car on doit exécuter un script sur serveur or il a quitter.

PS : pourquoi mettre un utilisateur connecter dans la bdd ?
0
Coutcout86 Messages postés 195 Date d'inscription lundi 23 novembre 2009 Statut Membre Dernière intervention 26 mai 2016
18 févr. 2015 à 10:53
Pour avoir des logs précis sur qui à fait quoi et quel actions il a fait
0