[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Таймер с записью в бд
Godwarlock
Есть таймер к примеру написанный на js. Допустим вошел пользователь на страницу сайта, нажимает кнопку, запускается таймер в 15 минут. Через 3 минуты, он уходит со страницы. Как сделать так, чтобы вернувшись на страницу(даже после удаления кук)таймер продолжал работать в автономном режиме. Без использования сервера, только php и максимум js. Где-то я уже видел подобное, но не помню где, помогите коль не затруднит)
mvg
Даже после форматирования диска! И вообще с продолжением на другой рабочей станции! biggrin.gif .


По сути: можно соединиться сокетом со скриптом который это делает и там, на сервере, запускать таймер. Тогда можно отрабатывать запись в БД после обрыва соединения со стороны клиента.
FatCat
На js не трудно сделать, чтобы информация не пропадала до закрытия окна браузера: писать в window.name.
Но если пользователь откроет страницу в другом окне, у нового окна будет новый объект window...

_____________
Бесплатному сыру в дырки не заглядывают...
walerus
Цитата (Godwarlock @ 10.01.2015 - 16:54)
продолжал работать в автономном режиме. Без использования сервера, только php и максимум js.
Я видимо чего то не знаю... как так, нигде ничего не сохраняя, что то учитывать?. Что значит - "без использования сервера" ?, а пхп что обрабатывает по Вашему?, а БД не на сервере разве?...

Цитата (Godwarlock @ 10.01.2015 - 16:54)
Где-то я уже видел подобное, но не помню где
Видимо во сне biggrin.gif

По теме: я бы делал запрос при "входе" пользователя в базу, на наличие активного таймера, на текущее время, если он есть - показывать его статус( расчетный ), если нет - показывать кнопку запуска. Вроде как все просто...
killer8080
Цитата (Godwarlock @ 10.01.2015 - 19:54)
Как сделать так, чтобы вернувшись на страницу(даже после удаления кук)таймер продолжал работать в автономном режиме.

сохранять время, до которого идёт отсчет в local storage, например.
А вообще нужно описать задачу подробней, чтоб советовать что то конкретней.
inpost
killer8080
"удалят куки". Следующий вопрос будет "удалят localstorage" wink.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
Цитата (inpost @ 11.01.2015 - 06:26)
killer8080
"удалят куки". Следующий вопрос будет "удалят localstorage" 

ну куки изначально живучестью не отличаются, они могут удалятся и просто при закрытии браузера. Удалять же local storage это уже целенаправленное действие, причем как минимум не ламера smile.gif
Вообще строить защиту на клиентской стороне нельзя, потому я и спрашивал о назначении этого таймера.
Guest
Я имел ввиду без сокетного и многопоточного соединение сервера. Подробнее. Ладно. Пользователь авторизуется->Нажимает на кнопку->запускается таймер->По окончанию таймера, обновляются данные пользователя в бд(неважно какие). Таймер должен продолжать работать даже если пользователь не в сети, но он задействовал этот таймер. И по окончанию таймера(опять же если пользователя нет в сети) обновляются данные в бд для этого пользователя)
Godwarlock
Это от меня выше)
FatCat
Тогда всё просто.
В таблицу добавляется поле start_time, в которое будет писаться время старта таймера.
По крону или на тасках серверный скрипт будет проверять БД, и где время истекло, там модифицировать.
И никакого js.

_____________
Бесплатному сыру в дырки не заглядывают...
Godwarlock
А где почитать про этот крон? Есть ли примеры какие-нибудь его установки или вообше что это такое...
killer8080
Цитата (Godwarlock @ 11.01.2015 - 17:01)
А где почитать про этот крон?

это планировщик заданий на *nix системах, обычно он доступен в панели управления хостингом.
Где почитать? blink.gif Ну это гуглится на раз rolleyes.gif
sergeiss
Цитата (Guest @ 11.01.2015 - 15:17)
И по окончанию таймера(опять же если пользователя нет в сети) обновляются данные в бд для этого пользователя)

А почему бы не сделать все эти обновления тогда, когда он в следующий раз зайдет? Сразу все обновления, что скопились.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Godwarlock
sergeiss
Нужно чтобы обновились конкретно через время.
В хостинге и правда есть Cron, но у меня его нет на локальном сервере. Где его скачать можно? гугл ничего толкового не выдает
kristall
Насчет крона не заморачивайся. Он просто тупо с заданным интервалом будет запускать заданный скрипт. Локально можно и ручками запускать.

_____________
echo '<pre>',print_r($var, 1);die;

root@server# make love && war
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.