session_dureedevie

Répondre
sonia
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.
sonia
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 fairesmiley
voila merci ci quelqu' un pourait m' aider.smiley
savageman
le 22/02/2005 à 22:29
savageman
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! ;)
sonia
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
sonia
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.
sonia
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
Bzh
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... smiley
Répondre
LoadingChargement en cours