Bonsoir,
J'utilise ma méthode MVC pour mon programme
J'ai un contrôleur principal qui entre autre vérifie si un utilisateur est logué
Je souhaiterai dans ce cas qu'apparaisse au bout d'un certain temps d'inactivité un message pour demander à l'utilisateur si il veut rester sur la page
S'il ne veut pas il reste sur la page, sinon il se délogue
Le problème est que si je décide de rester sur la page le timer ne recommence pas à zéro comme je ne re mouvemente pas le contrôleur principal
Par contre dès que je change de page mon timer redémarre
Comment résoudre ce problème
Mon code Controleur
Merci pour votre aide
Modifié par dudu22 (19 Dec 2023 - 23:51)
J'utilise ma méthode MVC pour mon programme
J'ai un contrôleur principal qui entre autre vérifie si un utilisateur est logué
Je souhaiterai dans ce cas qu'apparaisse au bout d'un certain temps d'inactivité un message pour demander à l'utilisateur si il veut rester sur la page
S'il ne veut pas il reste sur la page, sinon il se délogue
Le problème est que si je décide de rester sur la page le timer ne recommence pas à zéro comme je ne re mouvemente pas le contrôleur principal
Par contre dès que je change de page mon timer redémarre
Comment résoudre ce problème
Mon code Controleur
//RECHERCHE SI AUTORISATION
$user_connect = new DBAuth(App::getInstance()->getDb());
$this->user_items = $user_connect->user();//FONCTION user dans Classe DBAuth
if($this->user_items)
{
?>
<script type="text/javascript">
function resetTimer() {
clearTimeout(inactivityTimeout);
startTimer();
}
function startTimer() {
inactivityTimeout = setTimeout(function() {
if (confirm("Êtes-vous toujours actif sur cette page?")) {
window.location.href = "/logout"; // Rediriger si l'utilisateur choisit de sortir
}
}, 30000); // Délai de 30 secondes pour répondre au modal
}
// Démarrez le timer dès que la page est chargée
startTimer();
// Réinitialisez le timer à chaque interaction utilisateur (par exemple, clic, pression de touche)
document.addEventListener("click", resetTimer);
document.addEventListener("keydown", resetTimer);;
</script>
<?php
}
Merci pour votre aide
Modifié par dudu22 (19 Dec 2023 - 23:51)