Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запрет обновления страницы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Sem2001
Отправлено: 26 Апреля, 2015 - 23:29:42
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Апр. 2015  


Помог: 0 раз(а)




Всем привет.
Подскажите можно ли как-нибудь отключить обновление страницы браузера пользователем?
Предвидя вопросы типа: а зачем тебе это нужно? Улыбка объясняю, что есть онлайн тест в который построен на запросах к серверу и работает практически на одной форме. После нажатия кнопки F5, кнопки рефреш, или кнопки Enter в строке адреса происходит обновление страницы и возврат к началу теста. Также на странице есть таймер обратного отчета который также обновляется. Плюс работа с базой данных MySQL с созданием временных таблиц, которые тоже работают в текущей сессии и после рефреша пересоздаются. Конечно можно после обновления страницы проверять какую-нибудь константу на наличие(заполнение) и останавливать тест если она равна NULL, но это не вариант так как по условию количество попыток сдачи теста ограничено.
Наверняка возможны и другие решения готов выслушать любые варианты Улыбка
 
 Top
dcc0
Отправлено: 26 Апреля, 2015 - 23:43:19
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)






-----
Март 2021. Бросил программирование
 
 Top
Sem2001
Отправлено: 26 Апреля, 2015 - 23:53:45
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Апр. 2015  


Помог: 0 раз(а)




dcc0 пишет:
http://phpclub.ru/talk/threads/%D0%BA%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B.6038/


Спасибо, читал этот топик ранее. Больше конечно критики в адрес автора, чем работающих ответов Улыбка Схожусь на мысли, что придется пересматривать сам алгоритм работы, так как JS можно отключить, изменить, у некоторых браузеров политикой запрещен JS и тп.
 
 Top
exlant
Отправлено: 27 Апреля, 2015 - 00:03:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




Sem2001 ну js мало кто сейчас отключает... и есть много сайтов, которые без js вообще работать не будут! Или, при отключенном js, прикрывают свой фулл-опционал, а дают лишь сильно ограниченные возможности!

А что за тест такой? Что у кого то может появиться желание сжульничать?
 
 Top
DeepVarvar Супермодератор
Отправлено: 27 Апреля, 2015 - 00:15:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




При отключенном жс вообще не стартовать тесты.
А для сохранения состояния, даже если нажмут ф5 использовать локал сторадж.
 
 Top
Sem2001
Отправлено: 27 Апреля, 2015 - 00:48:15
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Апр. 2015  


Помог: 0 раз(а)




exlant пишет:
Sem2001 ну js мало кто сейчас отключает... и есть много сайтов, которые без js вообще работать не будут! Или, при отключенном js, прикрывают свой фулл-опционал, а дают лишь сильно ограниченные возможности!

А что за тест такой? Что у кого то может появиться желание сжульничать?


Тест в профучилище. Даже если F5 отключить, то будет адресная строка где можно будет обновить страницу. Видел как это было реализованно в корпоративной среде, где установлен только IE, у него есть возможность отключить панельку с кнопками.
(Добавление)
DeepVarvar пишет:
При отключенном жс вообще не стартовать тесты.
А для сохранения состояния, даже если нажмут ф5 использовать локал сторадж.


Cайт обращается к базе данных MySQL, где будет десятки тестов. В одном тесте до 20 вопросов, а это большая временная таблица. Честно говоря не представляю как ее можно хранить в локальном хранилище. Но вариант стоит попробовать Улыбка
(Добавление)
Что бы было понятна идея, то вот сайт
http://test[dot]ukkprofi[dot]ru/
Логин:Тест
Пароль:123
 
 Top
exlant
Отправлено: 27 Апреля, 2015 - 01:13:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




я бы через сессии все сделал
время начала в сессию
какой выбрал ответ, тоже в сессию
в общем, как то так!

Хотя при желании обойти такое тоже можно!
(Добавление)
А в базу данных, записывать сколько данный юзер сделал попыток!
(Добавление)
То есть выйдет, что то вроде:
Как пользователь начал тест, мы записываем в базу +1 попытка, а в сессию время, когда начал.
И по мере выполнения теста, пишем в сессию что он там понавыбирал!
А как выполнил проверяем время записанное в сессии, если не сходится - все не сдал, нефиг жульничать!
Если сбросит сессию, +1 к попытке в базу данных!
 
 Top
Sem2001
Отправлено: 27 Апреля, 2015 - 18:56:53
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Апр. 2015  


Помог: 0 раз(а)




exlant пишет:
я бы через сессии все сделал
время начала в сессию
какой выбрал ответ, тоже в сессию
в общем, как то так!

Хотя при желании обойти такое тоже можно!
(Добавление)
А в базу данных, записывать сколько данный юзер сделал попыток!
(Добавление)
То есть выйдет, что то вроде:
Как пользователь начал тест, мы записываем в базу +1 попытка, а в сессию время, когда начал.
И по мере выполнения теста, пишем в сессию что он там понавыбирал!
А как выполнил проверяем время записанное в сессии, если не сходится - все не сдал, нефиг жульничать!
Если сбросит сессию, +1 к попытке в базу данных!


Да это все понятно что -1 попытка, но пользователи бывают разные... Лучше просто отключить такую возможность. Осталось придумать как лучше это сделать
 
 Top
esterio
Отправлено: 27 Апреля, 2015 - 19:02:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Sem2001
запретить полностю не удастся. был проект где делали тесты. так там у нас в сесию сохранялись ответы пользователя. И если пользователь покидал сайт, а потом снова возвращался все ставало как было. Для таймера мы слали каждые 5 сек AJAX запрос с состоянием таймера. В даном случае 5 секунд туда-сюда для на не были катастрофической проблемой.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB