За последние 24 часа нас посетили 19127 программистов и 1590 роботов. Сейчас ищут 859 программистов ...

Обратный отсчет для 2х пользователей

Тема в разделе "PHP для новичков", создана пользователем Xu4kok, 15 апр 2010.

  1. Xu4kok

    Xu4kok Активный пользователь

    С нами с:
    4 мар 2010
    Сообщения:
    5
    Симпатии:
    0
    Доброго времени суток всем! Долго копался на форуме и в Инете, но так и е нашел хотябы похожего решения. Суть в следующем:
    1. Пользователь №1 определяет время отсчета (например в минутах);
    2. Начинается обратный отсчет, который могут видеть оба пользователя;
    3. При перезаходе на страничку отсчет продолжается.
    Суть проблемы в том, что предполагается открытие странички с сотового телефона, а на многих моделях не работает яваскрипт (по крайней мере работает с ограниченным количеством функций). А при работе с БД отправку данных надо подтверждать отдельно (что не очень удобно).
    И еще один вопросик: каким образом можно реализовать автообновление странички в браузерах сотовых телефонов если refresh не работает (про яву уже писал). Заранее спасибо!!!
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а как будет отсчет тикать без явы?

    А зачем это все надо? =) может вы сформулируете задачу и найдется более простое решение?
     
  3. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    refresh умеет тикать

    сам себя не понял :)
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  5. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Вот, вот...

    В поддержку недели готовых недорешений:
    PHP:
    1. <?php
    2. if ($_SERVER["REQUEST_METHOD"]=="POST"){
    3.     startTimer();
    4.     header("Refresh:3");
    5. }
    6. else{
    7.     if ($msg=getTimeMsg()){
    8.         header("Refresh:3");
    9.         echo $msg;
    10.     }
    11.     else{
    12.         echo "Время вышло";
    13.     }
    14. }
    15.  
    16.  
    17. function startTimer(){
    18.     file_put_contents("time.txt", time()+20);
    19. }
    20.  
    21. function getTimeMsg(){
    22.     if (file_exists("time.txt")){
    23.         $left=file_get_contents("time.txt")-time();
    24.         if ($left>0){
    25.             return "Осталось => ".$left;
    26.         }
    27.         else{
    28.             unlink("time.txt");
    29.             return false;
    30.         }
    31.     }
    32.     else{
    33.         return "Отсчет не начат";
    34.     }
    35. }
    36. ?>
     
  6. Xu4kok

    Xu4kok Активный пользователь

    С нами с:
    4 мар 2010
    Сообщения:
    5
    Симпатии:
    0
    Тема сайта - Такси-онлайн. Дальше думаю ясно: Водитель, принимая заявку указывает время подъезда, которое заносится в базу. Таймер как раз и отсчитывает остаток времени как у клиента, так и у водителя. И если в обычных браузерах способов реализации куча, то вот с браузерами сотовых - загвозка.....
     
  7. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Хм.. если нужен гарантированный отсчет, быть может напишете програмульку на Java ME?
     
  8. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Xu4kok
    В базе валяется timestamp. сервер берет его и делает timestamp-time() и отдает результат. Я не понял в чем сложность...
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Xu4kok
    Ну тут если автоматом обновляться не будет - ничего страшного. Просто дайте таким клиентам возможность обновить через ссылку ту же.
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    и имхо самое простое - указывать просто время подачи, а дальше люди в голове сами будут обновлять сколько осталось.