Déconnexion automatique de php ajax avec minuterie

<script type="text/javascript"> var t; function startTimer(){ t=setTimeout("document.location='../login/logout.php'", 50000); } function stopTimer(){ clearTimeout(t); } </script> 

C'est mon script pour le déconnexion automatique,

Je veux montrer le compte à rebours, comment créer et afficher la minuterie,

De plus, je veux faire vie lorsque l'utilisateur frappe le corps de la page,

La minuterie doit également être réinitialisée et redémarrer lorsque le système est inactif,

Comment le faire,

(La minuterie devrait montrer, c'est-à-dire que la minuterie devrait fonctionner lorsque les personnes ne touchent pas le système,

Si l'utilisateur touche le système, le compteur devrait recommencer.

Utilisez cette fonction:

 function timer(elem, starttime, endtime, speed, funktion, count) { if (!endtime) endtime = 0; if (!starttime) starttime = 10; if (!speed) speed = 1; speed = speed * 1000; if ($(elem).html() || $(elem).val()) { if (count == "next" && starttime > endtime) starttime--; else if (count == "next" && starttime < endtime) starttime++; if ($(elem).html()) $(elem).html(starttime); else if ($(elem).val()) $(elem).val(starttime); if (starttime != endtime && $(elem).html()) setTimeout(function() { timer(elem, $(elem).html(), endtime, speed / 1000, funktion, 'next'); }, speed); if (starttime != endtime && $(elem).val()) setTimeout(function() { timer(elem, $(elem).val(), endtime, speed / 1000, funktion, 'next'); }, speed); if (starttime == endtime && funktion) funktion(); } else return; } 

Exemple

 timer("#timer", 50, 0, 1, function() { location.href = "../login/logout.php"; }); 

Mon exemple:

Mise à jour pour vérifier si l'utilisateur est inactif (est réglé sur 2 secondes, cela rend les tests plus faciles, je recommanderais au moins 5 ou 10 minutes).

 <body onload="setTimeout('startCountDown()',2000);" onmousemove="resetTimer();"> <form name="counter"><input type="text" size="5" name="timer" disabled="disabled" /></form> <script type="text/javascript"> <!-- // edit startSeconds as you see fit // simple timer example provided by Thomas var startSeconds = 10; var milisec = 0; var seconds=startSeconds; var countdownrunning = false var idle = false; document.counter.timer.value=startSeconds; function CountDown() { if(idle == true) { if (milisec<=0) { milisec=9 seconds-=1 } if (seconds<=-1) { document.location='../login/logout.php'; milisec=0 seconds+=1 return; } else milisec-=1; document.counter.timer.value=seconds+"."+milisec; setTimeout("CountDown()",100); } else { return; } } function startCountDown() { document.counter.timer.value=startSeconds; seconds = startSeconds; milisec = 0 document.counter.timer.style.display = 'block'; idle = true; CountDown(); document.getElementById("alert").innerHTML = 'You are idle. you will be logged out after ' + startSeconds + ' seconds.'; countdownrunning = false; } function resetTimer() { document.counter.timer.style.display = 'none'; idle = false; document.getElementById("alert").innerHTML = ''; if(!countdownrunning) setTimeout('startCountDown()',2000); countdownrunning = true; } --> </script> 

Mon code ici … après avoir modifié un peu … ça marche pour moi …

 var startSeconds = 10; var milisec = 0; var seconds=startSeconds; var countdownrunning = false var idle = false; document.counter.timer.value=startSeconds; function CountDown() { if(idle == true) { if (milisec<=0) { milisec=9 seconds-=1 } if (seconds<=-1) { document.location='../login/logout.php'; milisec=0 seconds+=1 return; } else seconds-=1; setTimeout("CountDown()",1000); } else { return; } } function startCountDown() { seconds = startSeconds; milisec = 0 idle = true; CountDown(); document.getElementById("alert").innerHTML = 'You are idle. you will be logged out after ' + startSeconds + ' seconds.'; countdownrunning = false; } function resetTimer() { idle = false; if(countdownrunning) setTimeout('startCountDown()',2000); countdownrunning = true; }