таймер времени с обратным отсчетом на PHP

Discussion in 'PHP' started by GAiN, 21 Mar 2012.

  1. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,531
    Likes Received:
    166
    Reputations:
    99
    Есть такой скрипт на js
    который отсчёт начинает с 2х минут и останавливается отсчёт достигнув 0:00:00
    выводит время формата 0:00:00
    при обновлении страницы, отсчитывает снова, с 2х минут
    нужен такой же скрипт по функциям как на js, только чтобы он мог работать и с выключеным js в браузере.
    помогите пожалуйста со скриптом
    PHP:
    <script>

    var 
    time 1000;

    var 
    seconds 1;

    var 
    minuties 2;

    var 
    hours 0;

    var 
    sec;

    var 
    min;

    function 
    a()

    {

        
    seconds -= 1;

        if(
    seconds.toString().length == 1sec "0"+seconds;

        else 
    sec seconds;

        if(
    minuties.toString().length == 1min "0"+minuties;

        else 
    min minuties;

        
    document.getElementById('w').innerHTML="таймер: "+hours+":"+min+":"+sec;

        if(
    seconds==0)

        {

          
    seconds 60;

          if(
    minuties == 0)

           {

              
    minuties 60;

              if(
    hours == 0)

              { 

                 
    window.clearInterval(timer);

              }

              
    hours -= 1;



           }

          
    minuties -= 1;

         }

    }

    </script>

    <body onLoad="javascript: timer = setInterval('a()', 1000)">

    <div id="w"></div>
    </body>
     
  2. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    И что, каждую секунду страница будет перезагружаться?
     
  3. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,531
    Likes Received:
    166
    Reputations:
    99
    каждые 2 минуты, а таймер для индикации
     
  4. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php
    session_start
    ();

    header('refresh:1;url=index.php');

    $CurrentTime time();

    if(!isset(
    $_SESSION['time']))
        
    $_SESSION['time'] = $CurrentTime 2*60;

    if((
    $_SESSION['time'] - $CurrentTime) <= 0)
        echo 
    'время вышло';
    else    
        echo 
    date('i:s'$_SESSION['time'] - $CurrentTime);
    Можно хранить конечное время не в сессии, а в файле, сам выбирай.
     
    #4 Chaak, 21 Mar 2012
    Last edited: 21 Mar 2012
  5. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,531
    Likes Received:
    166
    Reputations:
    99
    а можно что бы эти циферки шли постоянно?, а так они только показываются при обновлении страницы
    на счёт перезагрузки, надо что бы при ручном обновлении страницы - счётчик сбрасывался опять на 2 минуты
     
  6. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Что значит шли постоянно? PHP выдает уже готовые html-страницы клиенту, чтобы эти циферки шли постоянно нужен javascript + ajax(если нужна серверная обработка).
    Никак не отследить без javascript.
     
    1 person likes this.
  7. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,531
    Likes Received:
    166
    Reputations:
    99
    эх, понятно! спасибо за пояснения!
    Я искал способ альтернативы js, когда он выключен в браузере