session_dureedevie
le 22/02/2005 à 19:37
sonia
Re SALUT TOUT LE MONDE,
voila la dans mon appli jai mis des session ceulement je voudrais travailler sur la duree de vie de cette session , en fet je voudrais que dans n' importe quel page si l'utilisateur ne fait rien pendant 20 minute et ben sa va automatiquement dans ma page index.
j' ai vu dans de la doc qu' on pouvait directement changer dans le fichier php.ini
le session.lifetime et on lui donnerai 20*60
ceulement je sais pas si je le change sur mon poste si va marcher sur tout les autre poste .
cela me permet pas aussi de faire la redirection au bout de 20 minute de non action dans ma )page index.
voila si quelqu' un aurai une solution sa serai genial.
merci beaucoup pour votre aide.
le 22/02/2005 à 19:42
sonia
j' ai vu aussi qu' on pouvais utiliser la fonction time() et on y rajouter les 60*20 ce qui nous fait le temps max a pas depaser.
mais je voit pas trop comment faire
voila merci ci quelqu' un pourait m' aider.
le 22/02/2005 à 21:05
sonia
bon ben jcroit jvai le faire toute seule.
salut.
Bah en fait, tu mets le temps courant dans une variable de session, et si au prochain chargement d'une page, il s'est ecoulé plus de 20 minutes, tu redirige vers l'index! ;)
le 23/02/2005 à 06:11
sonia
ok merci beaucoup
donc j' ai trouver sa tu pense que ces bon?
Header("Expires: 0");
Header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
Header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
Header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
Header("Pragma: no-cache");
<meta http-equiv="REFRESH" content="60; url=index.php">
donc je vais essayer.
sinon merci
le 23/02/2005 à 11:21
sonia
oui jsui encore trop forte j' ai reussie toute seule apres 6.00 heure de recherche pour une seul ligne.pas facil!
mais merci quand meme.
le 23/02/2005 à 13:35
sonia
<meta http-equiv="REFRESH" content="1200; url=index.php?msg=2">
bon j' ai mis sa
mais j' ai petit probleme sa me redirige o bout de 20 minute mm si je suis entrain d' ecrire c'est donc un gros probleme.
si quelqu'un pourait m' aider sa serais super simpa
merci
le 23/02/2005 à 14:03
Bzh
Moi, je n' airais pa du tout faits ça comme ça...
<?php
//on démare la session
session_start();
//on test l' existance de la variable de session time
if(!isset($_SESSION['time'])){
//si elle n' existe pas on la déclare avec pour valeur l' heure actuel
$_SESSION['time'] = time();
//si elle existe déjà on la teste pour savoir se 20mn se sont écoulé
}elseif( $_SESSION['time']+(60*20) > time()){
//si oui et bien on redirige....
header("Location: ./index.php");
exit(); }
// sinon poursuite du code normal
?>
Voila, le code doit être bourré de faute...
C' est juste pour te montrer comment faire...
Et la c' est beaucoup plus propre. Pas besoin d' utiliser de balise meta qui sont vraiment a proposcrire pour une redirection...
Sinon, ça marche se que tu as fait !!!
Ciao...
le 23/02/2005 à 14:09
sonia
et ben merci beauoup.
jvai le faire merci
le 23/02/2005 à 20:47
sonia
ces vrai que ses remplis de fote sa marche pas du tout