Так, например, я нажимаю кнопку, которая отправит что-то в базу данных через 1 минуту, но я хочу также отправить это если я уйду со страницы
: )
Итак, если я выйду со страницы, когда от 1 минуты осталось 30 секунд, обратный отсчет будет продолжаться до тех пор, пока не достигнет 60 секунд, а затем отправит данные в базу данных.
Надеюсь, что все ясно. Я думаю, что мне следует использовать для этой СЕССИИ
, но, пожалуйста, дайте мне знать, если вы знаете ответ или что-нибудь полезное :)
пример: на http: //www.travian. com / , когда вы начинаете что-то строить, у вас появляется обратный отсчет «будет закончен через xx: xx: xx»; тем не менее, вам не нужно держать браузер открытым - обратный отсчет все еще выполняется на сервере, даже если вы выйдете из системы.
Или, скажем, пример из реальной жизни:
Представьте себе систему ведения блогов, такую как wordpress, где я пишу 10
сообщений в день, но я хочу показывать пользователям только 5 / день
.
Или я хочу показать пользователям в 8:00 AM
Или другой, взятый из Travian:
Представьте себе игру
, в которой вы можете создавать войска, но чтобы создать войска, вам нужно подождать, потому что жизнь нелегка: D, поэтому для отряда
нужно подождать 1 минуту
.
Это невозможно. Пользователь может покинуть страницу из-за ошибки подключения к Интернету или из-за отключения электроэнергии, после чего он не сможет отправить информацию в базу данных.
Что вы можете сделать, так это немедленно сохранить данные в базе данных с отметкой времени «не открывать раньше», чтобы имитировать задержку в одну минуту, и добавить дополнительное ограничение ко всем запросам к этой таблице:
WHERE createDate < NOW()
это действие не гарантируется. Я также могу покинуть страницу с закрытым браузером. Создание решения на основе базы данных является лучшим.
Возможно, вы хотите использовать команду javascript, чтобы инициировать задержку, потому что с помощью Javascript вы можете отправить данные в PHP через AJAX, и если вы инкапсулируете этот AJAX в функцию, а затем вызываете это из своей функции «задержки».
Для выхода из страницы вы также можете использовать:
window.onbeforeunload=delayFunction;
Надеюсь, это поможет.