Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
776 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  session qui se détruit après un certain temps

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

session qui se détruit après un certain temps

n°864266
rufo
Pas me confondre avec Lycos!
Posté le 04-10-2004 à 15:26:56  profilanswer
 

Voilà, j'ai une appli en php qui utilise des session pour identifier les utilisateurs. Quand j'étais sous easyphp, même après qq jours, je n'étais pas déconnecté (sauf si j'avais explicitement demandé à détruire ma session).
 
Aussi, je voudrais que les utilisateurs puissent rester connectés à mon appli au moins 9 ou 10 heures, même s'ils ne font aucune manip sur l'appli, sachant que maintenant le serveur de mon appli une redhat. Je sais que c'est dans php.ini qu'il faut paramétrer ça, dans la rubrique session, mais quelle variable? session.gc_maxlifetime ou session.cache_expire ou une autre variable? Merci :)

mood
Publicité
Posté le 04-10-2004 à 15:26:56  profilanswer
 

n°864419
jeremize
Posté le 04-10-2004 à 17:41:39  profilanswer
 

rufo a écrit :

Voilà, j'ai une appli en php qui utilise des session pour identifier les utilisateurs. Quand j'étais sous easyphp, même après qq jours, je n'étais pas déconnecté (sauf si j'avais explicitement demandé à détruire ma session).
 
Aussi, je voudrais que les utilisateurs puissent rester connectés à mon appli au moins 9 ou 10 heures, même s'ils ne font aucune manip sur l'appli, sachant que maintenant le serveur de mon appli une redhat. Je sais que c'est dans php.ini qu'il faut paramétrer ça, dans la rubrique session, mais quelle variable? session.gc_maxlifetime ou session.cache_expire ou une autre variable? Merci :)


Si tu veux faire ça, à mon avis utilise les cookies.  
Avec les sessions c'est sans doute possible en modifiant le php.ini... regarde le php.ini de ton easyphp et compare le avec celui de ton serveur. Mais à mon avis si ton visiteur fermer son explorer ou se déconnecte ou rédméarre son pc, je sais pas si la session va tenir, à tester...
Jérémie :)

n°864431
TriadPtale
Posté le 04-10-2004 à 17:58:01  profilanswer
 

session_set_cookie_params ($duree);
 
 
ça évite que le cookie contenant le sid ne soit détruit à la fermeture du navigateur ($duree = 0 => détruit quand on ferme)
 
:)

n°864872
rufo
Pas me confondre avec Lycos!
Posté le 05-10-2004 à 10:31:45  profilanswer
 

jeremize a écrit :

Si tu veux faire ça, à mon avis utilise les cookies.  
Avec les sessions c'est sans doute possible en modifiant le php.ini... regarde le php.ini de ton easyphp et compare le avec celui de ton serveur. Mais à mon avis si ton visiteur fermer son explorer ou se déconnecte ou rédméarre son pc, je sais pas si la session va tenir, à tester...
Jérémie :)


 
si l'utilisateur ferme son navigateur, c'est normal qu'il perde sa session (c'est tant pis pour lui). Non, ce que je veux, c'est que tant qu'il laisse son navigateur ouvert il puisse resté connecté à mon appli même s'il ne fait rien... sinon, j'ai comparé mes 2 php.ini mais vu qu'il y en a un sous Linux et l'autre sous windows, j'ai des différences :(...

n°864932
GaSPaRD77
Posté le 05-10-2004 à 11:04:21  profilanswer
 

Tu peux le faire juste pour le code de ton site là (si tu heberges plusieurs sites et ne veux pas modifier globalement ton fichier php.ini)
 
ini_set(directive, valeur)
 
Pour que ta session reste ouverte pendant 10h :
 
ini_set('session.cookie_lifetime, '36000') ;

n°864973
rufo
Pas me confondre avec Lycos!
Posté le 05-10-2004 à 11:26:55  profilanswer
 

GaSPaRD77 a écrit :

Tu peux le faire juste pour le code de ton site là (si tu heberges plusieurs sites et ne veux pas modifier globalement ton fichier php.ini)
 
ini_set(directive, valeur)
 
Pour que ta session reste ouverte pendant 10h :
 
ini_set('session.cookie_lifetime, '36000') ;


 
merci :) Par contre, je dois mettre ça dans toutes mes pages ou juste celle du login?

n°865009
GaSPaRD77
Posté le 05-10-2004 à 11:47:45  profilanswer
 

Dans toutes tes pages en en-tête

n°865047
rufo
Pas me confondre avec Lycos!
Posté le 05-10-2004 à 12:08:31  profilanswer
 

GaSPaRD77 a écrit :

Dans toutes tes pages en en-tête


 
mais à chaque fois que j'affiche une nouvelle page, ça risque pas de réinitialiser le temps de connexion (je veux dire repousser l'heure à laquelle l'utilisateur va être effectivement déconnecté)?

n°865055
GaSPaRD77
Posté le 05-10-2004 à 12:11:28  profilanswer
 

Si mais c'est pas justement que ce soit au bout de 10h d'inactivité ?

n°865077
rufo
Pas me confondre avec Lycos!
Posté le 05-10-2004 à 12:21:27  profilanswer
 

GaSPaRD77 a écrit :

Si mais c'est pas justement que ce soit au bout de 10h d'inactivité ?


non, c'est 10h après la connexion de l'utilisateur... dans ce cas là, je mets mon set_ini uniquement dans la page de login, c'est ça?
 
bon, cela dit, la solution que tu m'as donné fera l'affaire mais si tu peux réponds à ma question précédente :) (pour ma culture)

mood
Publicité
Posté le 05-10-2004 à 12:21:27  profilanswer
 

n°865093
GaSPaRD77
Posté le 05-10-2004 à 12:29:55  profilanswer
 

Lorsque ton script se terminera la valeur par defaut (celle du php.ini) sera remise.
 
Si tu veux vraiment que ce soit 10h après la connexion de l'utilisateur tu peux te faire une fonction dans ton script de login qui recupère l'heure de connexion, et dans chaque page tu calcules la difference de temps entre ce moment et le moment de connection, tu places ensuite cette valeur dans le set_ini ...
 
J'éspère que c'est clair :)

n°865104
rufo
Pas me confondre avec Lycos!
Posté le 05-10-2004 à 12:34:49  profilanswer
 

GaSPaRD77 a écrit :

Lorsque ton script se terminera la valeur par defaut (celle du php.ini) sera remise.
 
Si tu veux vraiment que ce soit 10h après la connexion de l'utilisateur tu peux te faire une fonction dans ton script de login qui recupère l'heure de connexion, et dans chaque page tu calcules la difference de temps entre ce moment et le moment de connection, tu places ensuite cette valeur dans le set_ini ...
 
J'éspère que c'est clair :)


 
oui, tout à fait :) Je vais rester sur ta première solution qui est satisfaisante. Meric pour ta réactivité :jap:

n°918949
rufo
Pas me confondre avec Lycos!
Posté le 09-12-2004 à 16:42:00  profilanswer
 

bizarre, depuis qq jours,  
ini_set('session.cookie_lifetime, '36000'); n'a plus d'effet. c'est possible que cette fonction ait été désactivée d'une quelconque manière? :??:

n°919049
Xav_
The only one...
Posté le 09-12-2004 à 18:15:58  profilanswer
 

oui, ton hébergeur peut bloquer les ini_set de certaines variables (par sécurité en général)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°919372
rufo
Pas me confondre avec Lycos!
Posté le 10-12-2004 à 09:30:41  profilanswer
 

Xav_ a écrit :

oui, ton hébergeur peut bloquer les ini_set de certaines variables (par sécurité en général)


 
par quel moyen?
 
Je précise que mon hébergeur est en fait à qq mètres de moi. Je suis dans une entreprise et une subdivision administre les machines et la mienne, ben développe les applis.

n°919492
Xav_
The only one...
Posté le 10-12-2004 à 11:53:14  profilanswer
 

c'est une configuration au niveau du serveur apache, peut etre par le biais du http.conf, j'ai jamais été hébergeur, je sais juste qu'il peuvent le faire...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°919591
rufo
Pas me confondre avec Lycos!
Posté le 10-12-2004 à 13:28:03  profilanswer
 

le plus bizarre, c'est qu'en lisant un autre topic sr ini_set(), je devrais normalement me prendre un msg d'erreur si cett fct était désactivée. Cela dit, peut-être que l'affichage des msg d'erreur ont été désactés dans le php.ini vu que l'appli est en prod...

n°919709
Xav_
The only one...
Posté le 10-12-2004 à 14:57:45  profilanswer
 

un phpinfo() te permmettra de savoir si l'affichage des erreurs est masuqé ou pas


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°919727
rufo
Pas me confondre avec Lycos!
Posté le 10-12-2004 à 15:16:38  profilanswer
 

avec phpinfo(), à error_reporting, j'ai 2039 :??: c'est le résultat des & sur les constantes du genre E_ALL?

n°919770
Xav_
The only one...
Posté le 10-12-2004 à 16:00:56  profilanswer
 

forcément, c'est pas terrible vu comme ça....
 
EDIT:
2039 --> E_ALL & ~E_NOTICE
 
vu que je suis comme ça en local, et qu'un phpinfo sur mon serveur local me donne aussi 2039 ;)
 
pour info 2047 --> E_ALL


Message édité par Xav_ le 10-12-2004 à 16:07:00

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°919809
rufo
Pas me confondre avec Lycos!
Posté le 10-12-2004 à 16:33:31  profilanswer
 

donc toutes les erreurs sont affichées sauf les warning, c'est bien ça?

n°919824
Xav_
The only one...
Posté le 10-12-2004 à 16:42:52  profilanswer
 

NON, toutes les erreurs sont affichées sauf les notices
 
warning et notices c'est pas pareil :o


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°920225
rufo
Pas me confondre avec Lycos!
Posté le 11-12-2004 à 09:35:11  profilanswer
 

ah? c'est quoi la constante pour les warning?

n°920775
Xav_
The only one...
Posté le 12-12-2004 à 04:29:04  profilanswer
 

error_reporting = E_ERROR
et là ça t'afichera que les erreurs --> pu de warning et pu de notice, mais connais pas le code...
 suffit de faire le test en local avec easyPHP par exemple (ce que j'ai fait pour avoir les 2 autres codes, mais faut penser à relancer le serveur apache après modif pour prise en compte des changements du php.ini ;))


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  session qui se détruit après un certain temps

 

Sujets relatifs
pb de sessionsession java avec un firewall
session et w3c[PHP]variable de session dans une fonction
session et include[RESOLU]probleme avec ma session
probleme avec md5 et ma session [RESOLU]flux vers fichier ET vers console en même temps
foreach avec variable de session[RESOLU] différence $langue et $_SESSION['langue']
Plus de sujets relatifs à : session qui se détruit après un certain temps


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR