Sessions qui ne durent pas dans le temps

Sessions qui ne durent pas dans le temps - PHP - Programmation

Marsh Posté le 30-10-2006 à 17:29:15    

Bonjour,
 
j'ai un problème avec les sessions php, je voudrai qu'elles durent dans le temps mais pour l'instant elle ne durent que le temps d'une session normale. Jusqu'à la fermeture du navigateur.
 
voici mon code d'initialisation de session.

Code :
  1. /* Initialisation Session
  2. ----------------------------------------------- */
  3. session_name("fsid" );
  4. session_set_cookie_params(3600 * 24 * 21, '/favspy/');
  5. session_start();
  6. if ($first_param == 'logout')
  7. {
  8. session_destroy();
  9. unset($_SESSION);
  10. unset($_COOKIE['fsid']);
  11. header("Location: /favspy/" );
  12. exit();
  13. }


 
Pourtant le cookie créé par session_start et bien présent et le time life correspond bien à 21 jours.
 
Merci de votre aide.

Reply

Marsh Posté le 30-10-2006 à 17:29:15   

Reply

Marsh Posté le 31-10-2006 à 10:44:25    

Salut
 
C'est le paramètre session.gc_maxlifetime qui par défaut est à 1440 secondes soit 24 minutes ;)

Reply

Marsh Posté le 01-11-2006 à 14:47:41    

Ouai ça doit être ça car les fichiers sessions sont toujours présent dans le répertoire mais ils sont vidés après un certain temps d'inactivité (0 octet).
 
Y'a un moyen de changer ce temps de vidage si on a pas accés au ini_set ? (je suis chez free)

Reply

Marsh Posté le 01-11-2006 à 16:36:55    

Coder ton propre gestionnaire de session.

Reply

Marsh Posté le 01-11-2006 à 22:09:04    

Si je pouvais éviter d'en arriver à cette extrémité ça m'arrangerai.

Reply

Marsh Posté le 12-11-2006 à 03:09:03    

Bon ba finalement je l'ai codé mon système de session ^^
 
Voici le bousin pour ceux que ça intéresse ;)
 
PHP 5:
 
classe : http://absynthe.is.free.fr/asessio [...] s.php5.php
exemple : http://absynthe.is.free.fr/asession/asession.test.php5
code source exemple :  
http://absynthe.is.free.fr/asessio [...] t.php5.php
 
PHP 4:
 
classe : http://absynthe.is.free.fr/asessio [...] s.php4.php
exemple : http://absynthe.is.free.fr/asession/asession.test.php4
code source exemple :  
http://absynthe.is.free.fr/asessio [...] t.php4.php
 
Attention en php 4 il n'y a pas de destructeur donc il faut que vous fassiez  
un appel à la méthode asession_close() avant toute interruption du script.
C'est à dire en bas du code source et avant toutes instructions exit() et  
die() sinon les données session ne seront pas sauvegardés.
 
En espérant que ca en aidera certains ;)
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed