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

.
По сути: можно соединиться сокетом со скриптом который это делает и там, на сервере, запускать таймер. Тогда можно отрабатывать запись в БД после обрыва соединения со стороны клиента.
FatCat
10.01.2015 - 21:52
На js не трудно сделать, чтобы информация не пропадала до закрытия окна браузера: писать в window.name.
Но если пользователь откроет страницу в другом окне, у нового окна будет новый объект window...
_____________
Бесплатному сыру в дырки не заглядывают...
walerus
10.01.2015 - 23:35
Цитата (Godwarlock @ 10.01.2015 - 16:54) |
продолжал работать в автономном режиме. Без использования сервера, только php и максимум js. |
Я видимо чего то не знаю... как так, нигде ничего не сохраняя, что то учитывать?. Что значит - "без использования сервера" ?, а пхп что обрабатывает по Вашему?, а БД не на сервере разве?...
Цитата (Godwarlock @ 10.01.2015 - 16:54) |
Где-то я уже видел подобное, но не помню где |
Видимо во сне
По теме: я бы делал запрос при "входе" пользователя в базу, на наличие активного таймера, на текущее время, если он есть - показывать его статус( расчетный ), если нет - показывать кнопку запуска. Вроде как все просто...
killer8080
11.01.2015 - 01:05
Цитата (Godwarlock @ 10.01.2015 - 19:54) |
Как сделать так, чтобы вернувшись на страницу(даже после удаления кук)таймер продолжал работать в автономном режиме. |
сохранять время, до которого идёт отсчет в local storage, например.
А вообще нужно описать задачу подробней, чтоб советовать что то конкретней.
inpost
11.01.2015 - 07:26
killer8080"удалят куки". Следующий вопрос будет "удалят localstorage"
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
11.01.2015 - 14:10
Цитата (inpost @ 11.01.2015 - 06:26) |
killer8080 "удалят куки". Следующий вопрос будет "удалят localstorage" |
ну куки изначально живучестью не отличаются, они могут удалятся и просто при закрытии браузера. Удалять же local storage это уже целенаправленное действие, причем как минимум не ламера
Вообще строить защиту на клиентской стороне нельзя, потому я и спрашивал о назначении этого таймера.
Я имел ввиду без сокетного и многопоточного соединение сервера. Подробнее. Ладно. Пользователь авторизуется->Нажимает на кнопку->запускается таймер->По окончанию таймера, обновляются данные пользователя в бд(неважно какие). Таймер должен продолжать работать даже если пользователь не в сети, но он задействовал этот таймер. И по окончанию таймера(опять же если пользователя нет в сети) обновляются данные в бд для этого пользователя)
Godwarlock
11.01.2015 - 15:28
Это от меня выше)
FatCat
11.01.2015 - 16:45
Тогда всё просто.
В таблицу добавляется поле start_time, в которое будет писаться время старта таймера.
По крону или на тасках серверный скрипт будет проверять БД, и где время истекло, там модифицировать.
И никакого js.
_____________
Бесплатному сыру в дырки не заглядывают...
Godwarlock
11.01.2015 - 18:01
А где почитать про этот крон? Есть ли примеры какие-нибудь его установки или вообше что это такое...
killer8080
11.01.2015 - 18:36
Цитата (Godwarlock @ 11.01.2015 - 17:01) |
А где почитать про этот крон? |
это планировщик заданий на *nix системах, обычно он доступен в панели управления хостингом.
Где почитать?

Ну это гуглится на раз
sergeiss
11.01.2015 - 18:45
Цитата (Guest @ 11.01.2015 - 15:17) |
И по окончанию таймера(опять же если пользователя нет в сети) обновляются данные в бд для этого пользователя) |
А почему бы не сделать все эти обновления тогда, когда он в следующий раз зайдет? Сразу все обновления, что скопились.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Godwarlock
14.01.2015 - 17:59
sergeiss
Нужно чтобы обновились конкретно через время.
В хостинге и правда есть Cron, но у меня его нет на локальном сервере. Где его скачать можно? гугл ничего толкового не выдает
kristall
14.01.2015 - 18:06
Насчет крона не заморачивайся. Он просто тупо с заданным интервалом будет запускать заданный скрипт. Локально можно и ручками запускать.
_____________
echo '<pre>',print_r($var, 1);die;
root@server# make love && war
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.