Bonjour à tous ,
Je voudrais savoir comment on fait pour destroy une session aprés un temps défini , j'ai fais quelques recherches et j'ai vu qui fallait utilisé setcookie mais j'arrive pas à faire fonctionné et aussi pour l'appliquer sur l'ensemble des passage qui nécessite une session pour y accéder
Merci d'avance pour vos réponses
Bonjour,
Pourquoi ne pas faire une fonction qui est appelé à chaque ouverture de page et qui testerais le temps d'ouverture d'une session ?
if ($_SESSION['duree'] > $temps){
unset $_SESSION;
header(....);
}
J'ai jamais fait encore de destruction session à un temps défini mais par exemple si je fais :
<?php
$_SESSION['dernier_acces']
if(time()-$_SESSION['dernier_acces']>10)
{
session_destroy();
session_unset();
}
?>
J'avais trouvé ceci mais j'ai une question qui me turlupine car si je mets ou meme la solution de Carouge cela va le faire meme si il y'a une activité car c'est plutot ca que je comprends trop , j'aimerai savoir comment sa fonctionne car pour moi quand je lis comme ca si je mets ceci au bout de 10 min activité ou non ca va détruire la session donc quelqu'un peut m'expliquer comment est détecté l'inactivité et qu'il faut exécuté ce morceau code ?
Sinon ceci est a appliqué sur toutes les pages qui requiert une session ou seul au login suffit ?
ok sudovim , merci .
Quand tu dis la session expire à 120 secondes , c'est aprés 120 secondes d'inactivité ?
Sa m'intrigue de savoir comment est détecté l'inactivité si quelqu'un a une explication sa m'intéresse , merci pour vos réponses en tout cas
Alors j'ai utilisé ton morceau code sudo mais sa ne marche pas enfin je sais pas si je l'utilise correctement , voici le code de ma page d'execution login , je dois surement mal l'appliqué.
$sql = "SELECT * FROM admin WHERE login = :login AND mdp = :mdp";
$select = $bdd -> prepare($sql);
$select -> execute(array(':login'=>$login , ':mdp'=> sha1($mdp)));
$enr = $select -> fetch();
if($enr == null)
{
header('location:login.php?erreur=authentification');
}
else
{
session_start();
$_SESSION['numSession'] = session_id();
$_SESSION['utilisateur'] = $login;
session_set_cookie_params(120,"/");
header('location:menu_admin.php');
}
Ok j'ai modifié cela mais sa ne fonctionne toujours pas , c'est pas parce que c'est sur Wamp que sa pose soucis ????