Question sur les sessions

Eléphant du PHP | 259 Messages

15 nov. 2007, 20:05

Bonjour,

Sur mon site j'utilise les sessions pour identifié la personne. Lorsqu'elle se connecte j'enregistre une session id et pseudo.

Je me demandais s'il y avait des risques que les sessions se "vide" si la personne reste un moment inactif sur le site. Par exemple la personne se conecte, va sur d'autre site et revient au bout de 30 min, les sessions existe toujours ?

Car j'ai peur que les sessions se vident et du coup dans mes table au champs id ça mettrais un 0, ce qui poserait probléme par la suite !

Est ce que je dois utilisé les cookie en + ? ou ce n'est pas nécessaire ??

Mammouth du PHP | 2937 Messages

15 nov. 2007, 20:10

Lorsqu'une session est enregistrée, PHP envoie un cookie, donc pas besoin d'envoyer de cookie supplémentaire.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

15 nov. 2007, 20:12

La session a effectivement une durée de vie définie dans la configuration du serveur. Au bout d'un certain temps d'inactivité (pas d'appel au serveur) les données en session sont effectivement perdues.

A partir de là, c'est à toi de voir si tu souhaites stocker des infos dans un cookie (avec les avantages et inconvénients que ca peut avoir de conserver des données sur le poste client) ou s'il ne suffit pas simplement de tester que ton id est bien présent en session pour l'utiliser (chose que tu devrais de toute façon naturellement faire :))
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 259 Messages

15 nov. 2007, 20:39

Sur toute les pages de mon site ou il faut être connecté pour y accéder je vérifie bien si la session est vide ou non.

Mais ça met déja arrivé aprés un moment d'inactivité sur le site, de revenir dessus et je pouvais tjrs navigué sur les pages mais quand il y avait des requêtes il y avait 0 dans le champ id alors qu'il y a bien la vérification de la session avant.

Comme vérification, je fait ça :
if(isset($_SESSION['id_membre']))
{
   affiche la page.
}
else
{
  redirige sur la page conenction.
}
c'est suffisant ?

Eléphant du PHP | 445 Messages

15 nov. 2007, 20:51

Tu peux complementer en testant si $_SESSION['id_membre'] est different de 0.