Mon projet en phpCompte à rebours
Je veux créer un compte à rebours pour poser la question en temps limité comme LMS ici, j'ai utiliser le compte à rebours javascript mais quand rafraîchir la page javascript temps sont remis.
Mon projet en phpCompte à rebours
Je veux créer un compte à rebours pour poser la question en temps limité comme LMS ici, j'ai utiliser le compte à rebours javascript mais quand rafraîchir la page javascript temps sont remis.
Vous pouvez également stocker le minuteur dans une variable de session en PHP de sorte que lorsque la page est actualisée, l'heure est toujours conservée.
Vous pouvez stocker l'heure de début dans une session php. Ensuite, chaque fois que vous chargez une page, vous pouvez continuer le compte à rebours avec javascript, par ex.
<?php
//on every page
session_start();
//when you start
$_SESSION['start_time'] = time();
Puis sur chaque page:
<script type="text/javascript">
var startTime = <?php echo $_SESSION['start_time']; ?>;
//calculate remaining time
</script>
Vous aurez besoin de regarder quand les fuseaux horaires sont différents, ou lorsque l'horloge du client est erroné. Peut-être au contraire, vous pouvez calculer le temps restant en quelques secondes et imprimer cela en javascript sur chaque page, mais vous pouvez alors innacuracy sur des connexions à latence élevée, etc.
Essayez quelque chose comme:
<?php
session_start();
//to reset the saved countdown
if (!empty($_REQUEST['resetCountdown']))
{
unset($_SESSION['startTime']);
}
if (empty($_SESSION['startTime']))
{
$_SESSION['startTime'] = time();
}
//In seconds
$startTime = time() - $_SESSION['startTime'];
?>
<script type="text/javascript">
var countdown = 60; //in seconds
var startTime = <?php echo $startTime; ?>;
startCountdown(startTime, countdown);
function startCountdown(startFrom, duration)
{
//countdown implementation
}
</script>
essayer cette
<script>
// Set the date we're counting down to
var countDownDate = new Date("Aug 1, 2017 12:00:00").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance/(1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24))/(1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60))/(1000 * 60));
var seconds = Math.floor((distance % (1000 * 60))/1000);
// Output the result in an element with id="demo"
document.getElementById("demo").innerHTML = days + "d " + hours + "h "
+ minutes + "m " + seconds + "s ";
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
</script>
et de mettre aussi cette étiquette de corps.
<p id="demo"></p>