On-line тестирование

  • Автор темы Alexiy II
  • Дата начала

Alexiy II

Guest
On-line тестирование

Я делаю сайт тестирования.

Как сделать так, чтобы во время теста пользователь не мог вернуться к предыдущему вопросу. Самое идеальное – очистить history браузера, но сколько я ни пробовал – этого сделать не получилось. Пробовал посылать header’ы c no-cache – от кнопки назад не спасает.
Когда я нажимаю кнопку назад, появляется сообщение, что страница устарела, и предложение её обновить. Нажимаю «Обновить» - меняется кодировка!!! Почему?

Помогите пожалуйста, я уже 2й день мучаюсь!!!

Как вообще организуются такого рода сайты и как разработчики решают такие проблемы?
 

Tn

Guest
записывай куда-либо (сессии, БД), что пользователь ответил на вопрос. перед тем как задать вопрос, проверяй, а не было ли ответа на этот вопрос уже.
 

Alexiy II

Guest
И всё-таки, как решить проблему с кнопкой back, history браузера?
Ответил пользователь на вопрос или нет, я могу проверить, но путём манипуляций с кнопкой back (нажать несколько раз) он может уйти куда угодно . К тому же, как я писал выше, при переходе на предыдущую страницу появляется сообщение и меняется кодировка. Если попытаться поменять кодировку вручную, то опять появляется сообщение и всё повторяется.

Вообщем, две основные проблемы:
1. Как разобраться с кнопкой back?
2. Что творится с кодировкой и можно ли это вылечить?
 

sergadm

Новичок
открывай в окне без тулсов. выставь время жизни содержимого страницы. и помоему лучше все вопросы на одну страницу(у меня так было когда жмёт кнопку отправить проверяю все ли вопросы отвечены на JS, если не то показываю на них ссылки ) да и проще конторолировать будет.
и ещё хорошая идея как мне кажется правильный ответ хранить в виде 0+1+2+4+8+16+32... те если верно помечен радио бутон №5 то в базе верный ответ =16
если первый и второй и третий checkbox то 0+1+2=3
те это позволяет делать от 1 до 8 вариантов ответа на вопрос
 

Tn

Guest
1. Чего плохого в кнопке back ? Пусть пользователь жмет её на здоровье. К кнопке Reset притензий нет ?
Открывать в модальном окне подойдет ?
http://zeus.sai.msu.ru:7000/internet/articles/back_refresh/
2. На других броузерах пробовал ? Покажешь URL ?
 

young

Новичок
Tn
Продаю за пиво способ реализации навигации, при котором кнопка Back в ИЕ :) будет недоступна
 

Alexiy II

Guest
Автор оригинала: Tn
1. Чего плохого в кнопке back ? Пусть пользователь жмет её на здоровье.
2. На других броузерах пробовал ? Покажешь URL ?
1. Пусть жмёт. Но вот с кодировкой проблемы.
2. http://control.iu4.bmstu.ru - только не ругайте сильно :)
Выслушаю все замечания и предложения :)
 

Alexiy II

Guest
Я сделал это!!! Кнопка back доступна, но при её нажатии ничего не происходит, то же самое и при refresh.

Всем большое спасибо!!!

Тема закрыта.
 

confguru

ExAdmin
Команда форума
Alexiy II

Не плохо бы поделиться с общественностью :)
 

Alexiy II

Guest
Вообщем так.

На моём сайте (http://control.iu4.bmstu.ru) есть раздел «Тесты». За этот раздел отвечает файл shell.php. Здесь можно выбрать тест и нажать кнопку далее. После чего запускается php-файл с информацией о тесте, в котором есть кнопка «Начать тест».
При её нажатии запускается файл test.php, который и проводит тестирование.
Информация о тесте хранится в MySQL базе. Во время тестирования – в переменных сессии. При нажатии на кнопку «Начать тест» регистрируется переменная сессии $some_var. А в файле shell.php стоит проверка, что если эта переменная зарегистрирована, то через header перенаправляем пользователя в файл test.php. Для того, чтобы при нажатии refresh переменные сессии не изменялись (номер текущего вопроса), я использую header.
Таким образом, когда пользователь нажимает back, он переходит в shell.php, который сразу же перенаправляет обратно. Никаких сообщений с просьбой обновить страницу (Page Expired) не выводится, что тоже радует :).
Вот и всё.

На указанном выше сайте посмотреть это пока не удастся. Если получится, то залью завтра (у меня dial-up).
 

Crazy

Developer
Re: On-line тестирование

Автор оригинала: Alexiy II
Как сделать так, чтобы во время теста пользователь не мог вернуться к предыдущему вопросу.
Зачем? Во всех пристойных системах тестирования тебя не только позволяют вернуться к ранее просмотренному вопросу, но и дают пометить вопрос, чтобы проще было потом к нему вернуться.
 

Alexiy II

Guest
Re: Re: On-line тестирование

Автор оригинала: Crazy
Зачем? Во всех пристойных системах тестирования тебя не только позволяют вернуться к ранее просмотренному вопросу, но и дают пометить вопрос, чтобы проще было потом к нему вернуться.
А если тестирование адаптивное?
 

Crazy

Developer
Что именно здесь понимается под адаптивным тестированием?
 

[DAN]

Старожил PHPClub
Crazy
Для online-тестирования вряд ли стоит давать возможность возвращаться к предыдущему ответу.
Объект для препарации - комп. тесты TOEFL.

Адаптивное - значит, что последующие вопросы выбираются в сообветствии с правильными\неправильными ответами на предыдущие заданные вопросы. Опять же TOEFL.
 

Crazy

Developer
Автор оригинала: [DAN]
Для online-тестирования вряд ли стоит давать возможность возвращаться к предыдущему ответу.
Противопоказания?

Адаптивное - значит, что последующие вопросы выбираются в сообветствии с правильными\неправильными ответами на предыдущие заданные вопросы.
В чем конфликт этого и возврата к вопросам?
 

[DAN]

Старожил PHPClub
Противопоказания?
см. выше про TOEFL
Идеологически неправильно при пошаговом тестировании давать возможность отката к предыдущему вопросу.
Твои доводы ?
В чем конфликт этого и возврата к вопросам?
Конфликт в том и заключается, что при откате назад дальнейший ход тестирования нарушается.
 

Crazy

Developer
см. выше про TOEFL
Там нет ни слова про противопоказания.


Идеологически неправильно при пошаговом тестировании давать возможность отката к предыдущему вопросу.
В чем идеологическая неправильность?

Довод: нет причин вводить это ограничение. Или так: пока никто таких причин внятно не назвал.

Конфликт в том и заключается, что при откате назад дальнейший ход тестирования нарушается.
Опять 25... В ЧЕМ ЗАКЛЮЧАЕТСЯ НАРУЩЕНИЕ ХОДА ТЕСТИРОВАНИЯ?

Рассмотрим тестирование без откатов. После просмотра вопроса тестируемый может совершить два действия:

a) верный ответ
b) неверный ответ

На основании анализа его действий мы можем подобрать следующий вопрос.

Тестирование с откатами. После просмотра вопроса возможно следующее:

a) верный ответ
b) неверный ответ
с) затрудняюсь ответить, вернусь к вопросу позднее
d) возвращаюсь к другому вопросу

Вариативность повысилась. Там, где раньше мы видели (b) сейчас можно увидеть (b) или (c) и точнее подобрать следующие вопросы.

Там, где раньше было (a) теперь возможно еще и (d) -- опять таки большая вариативность.

Итак: кто-нибудь в состоянии внятно сформулировать противопоказания?
 

Alexiy II

Guest
Итак: кто-нибудь в состоянии внятно сформулировать противопоказания?
По алгоритму тестирования системы тестирования делятся на линейные и адаптивные. При линейном алгоритме набор заданий в тесте заранее определён. В адаптивных тестах система отбирает задания в зависимости от предыдущих ответов, подстраивая тест к уровню тестируемого. Бывают ещё смешанные варианты.

1. Линейное тестирование. Даже в этом случае пропуск отдельных вопросов (пункт (c) ) может быть запрещён. Это определяется авторами теста и его типом. Например, тесты заранее отсортированы по уровню трудности для определения максимальных возможностей тестируемого; или весь тест разбит на подтесты (разделы), каждый со своими правилами и ограничениями.

2. Адаптивное тестирование. Помимо того, что не известен следующий вопрос, неизвестно также и общее число этих вопросов. Это число зависит от стабильности ответов пользователя.

И как тогда должна вести себя система адаптивного тестирования если пользователь выбрал ответ (c)? Какой вопрос задать следующим и вообще стоит ли его задавать?
 
Сверху