Countdown Timer

3 Cevap

Php Benim proje

I want to create a countdown timer for asking question in limited timeframe like LMS here i have use the javascript countdown timer but when refresh the page javascript timer are reset.

3 Cevap

Bir php oturumda başlangıç ​​zamanı saklamak. Sonra her şey size, örneğin, javascript ile geri sayım sayacını devam edebilir bir sayfayı yüklemek

<?php
//on every page
session_start();

//when you start
$_SESSION['start_time'] = time();

Sonra her sayfada:

<script type="text/javascript">
    var startTime = <?php echo $_SESSION['start_time']; ?>;
    //calculate remaining time
</script>

Sen dilimleri farklı zaman için izlemek gerekir, ya da müşterinin saati yanlış olduğunda. Belki yerine saniyeler içinde kalan süresini hesaplamak ve her sayfada javascript, ama sonra vb yüksek gecikme bağlantıları üzerinden innacuracy olabileceğini yazdırabilirsiniz

Böyle bir şey deneyin:

<?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>

Sayfa yenilenir zaman zaman hala korunur, böylece de PHP bir oturum değişkeni zamanlayıcı saklamak.