133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
|
1 | |
Запрет обновления страницы или05.01.2016, 18:22. Показов 6412. Ответов 5
Метки нет (Все метки)
Как на JS можно запретить обновление страницы или же не дать выполнить SQL запрос пока таймер работает или не был дан ответ.
А суть моей проблемы такая. Мне вывелся вопрос, Таймер начал тикать у пользователя 10 секунд к примеру что бы ответить. Если обновить страницу то мне выведется уже следующий вопрос и таймер обновится (даже если ответ не был дан) и если человек не отвечает на вопрос а просто клацает на обновление страницы и каждый раз новый вопрос и отвечает на самые легкие (к примеру). А мне нужно , началась сессия, вывелся вопрос и таймер стартанул.(таймер есть) К примеру 10 секунд на ответ. Если он надумал обновить страницу он должен остаться тут же с этим же вопросом и таймер не должен обновиться и начать отсчет заново. А если таймер остановился то я уже прописал location и кыш вон. Подробнее код могу положить сюда или есть уже в разделе по PHP Остаться на текущем вапросе после обновления страницы Можно даже просто сказать возможно ли такое на JS и я тогда приступлю к его изучению
0
|
05.01.2016, 18:22 | |
Ответы с готовыми решениями:
5
Запрет повторного просмотра страницы Поиск по БД без обновления страницы Форма без обновления страницы Существует ли функция обновления страницы? |
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
|
|
05.01.2016, 19:05 | 2 |
maruo, Пользователь отправляет сигнал о том, что он приступил к очередному заданию, а сервер засекает время начала и закидывает его в сессию или в бд. Как только пользователь(то есть браузер) отправил следующий сигнал, то на сервере к сохраненному времени прибавляется 10 сек и отнимается текущее дата-время. Если результат меньше или равен нулю, то пользователь опоздал.
0
|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
|
05.01.2016, 19:13 [ТС] | 3 |
Походу это не поему уровню знаний, для меня выглядит это сейчас чем то сверхъестественным
Придется переписать все заново и реализовать вывод вопросом помещая их в сессию
0
|
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
|
|
05.01.2016, 19:27 | 4 |
maruo, никакой магии тут нет
1. Браузер отправляет серверу запрос методом GET ( например, нажали на ссылку или отправили ajax запрос ) 2. Сервер сохраняет у себя собственное время. Например, текущее Tue Jan 05 2016 12:00:00 3. Браузер отправляет серверу следующий запрос методом GET 4. Сервер берет сохраненное время, прибавляет 10 сек и отнимает текущее время Например ( Tue Jan 05 2016 12:00:00 + 00:00:10 ) - Tue Jan 05 2016 12:05:00 5. Если ( ( Tue Jan 05 2016 12:00:00 + 00:00:10 ) - Tue Jan 05 2016 12:05:00 ) <= 0 значит пользователь не успел ответить
0
|
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
|
|
05.01.2016, 19:41 [ТС] | 5 |
Это я так понимаю предотвратить обновление таймера?
А как же быть с тем что бы обновим страницу?Тогда получается таймер будет работать , а вопрос выведется другой.
0
|
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
|
|||||||||||||||||||||
05.01.2016, 20:46 | 6 | ||||||||||||||||||||
Очевидно, что сервер должен следить за прогрессом пользователя, то есть он не допустит к следующему шагу если предыдущий не был завершен. А в GET запрос включаются параметры - ответ на вопрос или что-нибудь другое. Предположим, передаем действие "ответ на вопрос", вариант ответа "1":
http://sever.com/test.php?action=answer&variant=1 в разметке это обычная ссылка
Конечно, его можно оставить, но только для декора. Так же, можно по завершении таймера автоматически обновить страницу
0
|
05.01.2016, 20:46 | |
05.01.2016, 20:46 | |
Помогаю со студенческими работами здесь
6
Авторизация без обновления страницы Запрет обновления страницы описание без обновления страницы SetInterval() после обновления страницы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |