ФорумПрограммированиеPHP для идиотов → Обратный отсчет

Обратный отсчет

  • user_name

    Сообщения: 271 Репутация: N Группа: Кто попало

    Spritz 22 июня 2010 г. 16:38

    пользователь покупает доступ к закрытой части сайта на определенный срок. Мне нужно как то заводить таймер и показывать сколько осталось.
    Вот допустим пользователь купил 30 дней, нужно ему показывать в его кабинете количество оставшихся дней. Как такое сделать?
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 16:43, спустя 5 минут 8 секунд

    как-то когда глядишь на твою карму, отвечать не хочется =D

    записываешь в базу пользователю поле, которое показывает, когда кончается срок доступа. потом проверяешь, когда он чего-нибудь делает или входит в закрытую часть
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 16:46, спустя 3 минуты 27 секунд


    $diff = $dateX - time();
    if ($diff > 0) {
    echo 'Осталось ' . floor($diff / (60*60*24)) . ' дней';
    } else {
    header('Location: pizdets.html');
    exit();
    }
    ιιlllιlllι унц-унц
  • user_name

    Сообщения: 271 Репутация: N Группа: Кто попало

    Spritz 22 июня 2010 г. 16:47, спустя 31 секунду

    А мне нужно чтобы каждый день по одному отнималось)
    Кроме скрипта который вычитает 1, делает апдайт базе и запускается кроном, ничего в голову не приходит.
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 16:48, спустя 40 секунд


    А мне нужно чтобы каждый день по одному отнималось)
    Кроме скрипта который вычитает 1, делает апдайт базе и запускается кроном, ничего в голову не приходит.

    зачем тебе этот геморой?
  • user_name

    Сообщения: 271 Репутация: N Группа: Кто попало

    Spritz 22 июня 2010 г. 16:50, спустя 2 минуты 2 секунды



    $diff = $dateX - time();
    if ($diff > 0) {
    echo 'Осталось ' . floor($diff / (60*60*24)) . ' дней';
    } else {
    header('Location: pizdets.html');
    exit();
    }

    значит мне нужно (если пользователя возьмет 90 дней) записывать в секундах?
    Не люблю работать с датой и временем)
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 16:58, спустя 7 минут 55 секунд

    можешь не в секундах, почитай http://ru2.php.net/datetime
    Спустя 146 сек.
    и это - http://www.php.ru/mysql/reference.html#date-and-time-types
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 17:27, спустя 29 минут 54 секунды

    да хоть в тугриках. главное в одних и тех же единицах записывать и вычислять.
    при записи

    // пользователь оплатил N дней
    $diff = $days * (60*60*24);
    $dateX = time() + $diff;
    // … тут идет запись значения в базу …

    все просто. никаких вжопусчетчиков
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 17:30, спустя 2 минуты 14 секунд

    ололо!!!! сложные задачи на пиха.ру!
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 17:46, спустя 16 минут 26 секунд

    сегодня %username% повезло. его не послали нахуй.
    ιιlllιlllι унц-унц
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 17:47, спустя 48 секунд

    как-то повменяемее себя ведет)))
    Спустя 16 сек.
    хотя, еще не вечер)))))
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 22 июня 2010 г. 18:48, спустя 1 час 1 минуту 23 секунды

    ололо пиздец
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 19:50, спустя 1 час 1 минуту 47 секунд

    Мда… храни просто дату первого входа пользователя, а если она просрочена - закрывай доступ, все!
    ебанутся, неужели до этого нельзя самому догадаться? Я в шоке, темувнулл
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 22 июня 2010 г. 21:23, спустя 1 час 32 минуты 27 секунд

    > Мне нужно как то заводить таймер и показывать сколько осталось.

    осталось = надо - сейчас

    $remain = $countdown - $now;
    не всё полезно, что в swap полезло
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 июня 2010 г. 21:37, спустя 14 минут 32 секунды

    это он сейчас так спалился? о_О

Пожалуйста, авторизуйтесь, чтобы написать комментарий!