8796 sujets

Développement web côté serveur, CMS

Salut a tous,

J'utilise une session sur mon site pour acceder a la page de creation d'articles (sans une session validée par un mot de passe on accede par a cette page). Au bout d'un certain temps (peut etre 15min ou une demi-heure), la session expire, si bien que je ne peux plus poster l'article.

Comment allonger la duree d'une session ?

On m'a indiqué la solution suivante :

ini_set('session.save_path', '/session_path/');
ini_set('session.gc_maxlifetime', 3600);
session_start();

Mais je n'ai aucune idee de quoi mettre a la place de session_path..
Modifié par apericube (28 Sep 2009 - 08:54)
Salut,

Modifier la valeur de "save_path" n'est, normalement, pas nécessaire. Par défaut ça doit être quelque chose comme "/tmp/php5" (après ça dépend si t'es en mutu/dédié, de l'OS...).

Pour connaître ou les sessions sont sauvegardé par défaut il faut utiliser la fonction "session_save_path()", plus d'infos ici : http://fr.php.net/manual/fr/function.session-save-path.php

Après pour modifier le temps, il faut changer les 3600 (secondes).

Voili voilou.
Modifié par kurt11 (02 Sep 2009 - 01:16)
+1 pour DevAddict,

Couple tes sessions à un cookie.

Rentre dans le cookie les informations nécessaires à l'identification (tu peux définir une durée de vie au cookie), et à chaque affichage de page, tu vérifie si la session est toujours active, si la session n'est pas active, tu lis le cookie s'il existe, et tu recrées la session.
Pas mal l'idee du cookie. Mais pourquoi utiliser une session si j'utilise un cookie? Je veux dire, pourquoi utiliser les deux ?
apericube a écrit :
Pas mal l'idee du cookie. Mais pourquoi utiliser une session si j'utilise un cookie? Je veux dire, pourquoi utiliser les deux ?

Parce que les sessions utilisent un cookie Smiley smile