Rechercher : dans
Par :

Sessions php

Dernière réponse le 26 sep 2005 à 15:43:03 Mathieu, le 26 sep 2005 à 09:14:43 
 Signaler ce message aux modérateurs

Salut,

Voila sur un site web que j'ai fais, les visiteurs sont identifiés via une session php.
Le problème c'est que la configuration du serveur fait que la session expire automatiquement au bout de 24min.
C'est le réglage par défaut.

J'aimerai rallonger ce temps d'expiration, savez vous comment faire ?
Il faut à priori utiliser :
ini_set('session.gc_maxlifetime', time() + 3600);
session_start();

Mais je ne suis pas sur que ca s'utilise comme ca.
Aidez moi SVP :)

Meilleures réponses pour « Sessions php » dans :
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Les cookies et les en-têtes HTTP VoirLes en-têtes HTTP Lors de chaque échange par le protocole HTTP entre votre navigateur et le serveur, des données dîtes d'en-têtes contenant des informations sur les données à envoyer (dans le cas d'une requête) ou envoyées (dans le cas d'une...
Servlets - Gestion des sessions VoirHTTP: un protocole non connecté Le protocole HTTP est un protocole non connecté (on parle aussi de protocole sans états, en anglais stateless protocol), cela signifie que chaque requête est traitée indépendamment des autres et qu'aucun historique...

1

StreM, le 26 sep 2005 à 10:26:55

Tu y es presque, mais c'est :
ini_set('session.gc_maxlifetime', 3600);
session_start();

3600 est la durée, et non la date d'expiration, comme dans les cookies.

Moins le blanc est intelligent, plus le noir lui parait bête

Répondre à StreM

2

Mathieu, le 26 sep 2005 à 10:54:45

J'ai testé ca aussi mais apparemment ca ne marchait pas non plus.
Quand est ce qu'il faut le mettre ?
Avant chaque session_start ? Ou seulement la premiere fois lors de l'identification et de l'ouverture de session ?

Répondre à Mathieu

3

GallyNet, le 26 sep 2005 à 13:25:56

Il faut le mettre a chaque fois que tu fais "session_start()"

Sinon, pourquoi veut tu changer le temps d'une session ? Si un utilisateur n'a rien fait au bout de 24 minutes, on le considère généralement comme étant parti.

Répondre à GallyNet

4

Mathieu, le 26 sep 2005 à 13:44:06

Il faut le mettre avant ou après le session_start() ?

Je veux changer la durée de session, car mes membres ont de longs formulaires à remplir. Et en général ils mettent plus de 24 ,minutes pour tout remplir et donc lorsqu'ils valident, la session a déjà expirée et ils perdent tout !

Répondre à Mathieu

5

 GallyNet, le 26 sep 2005 à 15:43:03

Ah OK, ca doit être de sacré formulaire.

Normalement il faudrait que tu mette ton ini_set('session.gc_maxlifetime', 3600); tout au début du script, avant de faire le session_start().

Mais c'est pas pour autant quela modification sera faite: le php.ini du serveur peut être fait de telle façon ne puisse pas changer les valeurs. (a vérifier quand même)

Répondre à GallyNet
Collection CommentÇaMarche.net