Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/34: Рейтинг темы: голосов - 34, средняя оценка - 4.50
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356

Запрет обновления страницы или

05.01.2016, 18:22. Показов 6859. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как на JS можно запретить обновление страницы или же не дать выполнить SQL запрос пока таймер работает или не был дан ответ.

А суть моей проблемы такая. Мне вывелся вопрос, Таймер начал тикать у пользователя 10 секунд к примеру что бы ответить.
Если обновить страницу то мне выведется уже следующий вопрос и таймер обновится (даже если ответ не был дан) и если человек не отвечает на вопрос а просто клацает на обновление страницы и каждый раз новый вопрос и отвечает на самые легкие (к примеру).

А мне нужно , началась сессия, вывелся вопрос и таймер стартанул.(таймер есть)
К примеру 10 секунд на ответ. Если он надумал обновить страницу он должен остаться тут же с этим же вопросом и таймер не должен обновиться и начать отсчет заново. А если таймер остановился то я уже прописал location и кыш вон.

Подробнее код могу положить сюда или есть уже в разделе по PHP
Остаться на текущем вапросе после обновления страницы

Можно даже просто сказать возможно ли такое на JS и я тогда приступлю к его изучению
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.01.2016, 18:22
Ответы с готовыми решениями:

Запрет повторного просмотра страницы
нужно чтобы пользователь мог просмотреть страницу сайта только один раз в 24 часа я понимаю что нужно сперва узнать его ip адрес, есть...

Поиск по БД без обновления страницы
Пожалуйста подскажите/скиньте пример как сделать поиск по базе данных по нажатию кнопки с выводом информации на текущую страницу без ее...

Форма без обновления страницы
Народ подскажите как сделать форму без обновления страниц, типа как на платниках (пример составление диеты).

5
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
05.01.2016, 19:05
maruo, Пользователь отправляет сигнал о том, что он приступил к очередному заданию, а сервер засекает время начала и закидывает его в сессию или в бд. Как только пользователь(то есть браузер) отправил следующий сигнал, то на сервере к сохраненному времени прибавляется 10 сек и отнимается текущее дата-время. Если результат меньше или равен нулю, то пользователь опоздал.
0
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
05.01.2016, 19:13  [ТС]
Цитата Сообщение от Padimanskas Посмотреть сообщение
Пользователь отправляет сигнал о том, что он приступил к очередному заданию, а сервер засекает время начала и закидывает его в сессию или в бд. Как только пользователь(то есть браузер) отправил следующий сигнал, то на сервере к сохраненному времени прибавляется 10 сек и отнимается текущее дата-время. Если результат меньше или равен нулю, то пользователь опоздал.
Походу это не поему уровню знаний, для меня выглядит это сейчас чем то сверхъестественным
Придется переписать все заново и реализовать вывод вопросом помещая их в сессию
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
05.01.2016, 19:27
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
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
05.01.2016, 19:41  [ТС]
Это я так понимаю предотвратить обновление таймера?
А как же быть с тем что бы обновим страницу?Тогда получается таймер будет работать , а вопрос выведется другой.
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
05.01.2016, 20:46
Цитата Сообщение от maruo Посмотреть сообщение
А как же быть с тем что бы обновим страницу?Тогда получается таймер будет работать , а вопрос выведется другой.
Очевидно, что сервер должен следить за прогрессом пользователя, то есть он не допустит к следующему шагу если предыдущий не был завершен. А в GET запрос включаются параметры - ответ на вопрос или что-нибудь другое. Предположим, передаем действие "ответ на вопрос", вариант ответа "1": http://sever.com/test.php?action=answer&variant=1

в разметке это обычная ссылка
HTML5
1
<a href="test.php?action=answer&variant=1">Ответить на вопрос</a>
либо вот такой способ
HTML5
1
<a href="#" onclick="this.setAttribute('href', 'test.php?action=answer&variant=1');">Ответить на вопрос</a>
можно и на javascript
JavaScript
1
2
3
anchor.onclick = function(){
    this.setAttribute('href', 'test.php?action=answer&variant=1');
};
Таймер на стороне клиента не нужен - пользователь сам инициирует проверки с помощью отправки след.запроса.
Конечно, его можно оставить, но только для декора. Так же, можно по завершении таймера автоматически обновить страницу
JavaScript
1
location.href = '/test.php';
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2016, 20:46
Помогаю со студенческими работами здесь

Существует ли функция обновления страницы?
Мне нужно как-нибудь наложить условие на обновление страницы. Т.е. если пользователь нажал кнопку &quot;обновить&quot;, то.. есть ли...

Авторизация без обновления страницы
Подскажите, пожалуйста, как сделать авторизацию на javascript так, чтобы браузер запомнил поля input, но при этом не обновлял страницу, как...

Запрет обновления страницы
&lt;header onclick=&quot;location.href='#'&quot;&gt;&lt;div class=&quot;ipsLayout_container ipsClearfix&quot;&gt; &lt;div id=&quot;color_picker&quot; class=&quot;ipsPos_right&quot;&gt; &lt;div...

описание без обновления страницы
Собственно проблема в следующем: в левой части человек выбирает пункт(заголовок записи), нажимает на него, в правой подгружается его...

SetInterval() после обновления страницы
Здравствуйте! setInterval() после обновления страницы останавливается и запускается заново или запускает дубли? Нужно ли после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru