Пишу тестовую систему. Помогите

sTar

Guest
Пишу тестовую систему. Помогите

Сейчас пишу тестовую систему...
Производится случайная віборка вопросов с базы...
Как лучше заблокировать обновление теста, т. е. если пользователь обновит скрипт ему выдаст новый вопрос, мне нужно чтобы при обновлении выдавался тот же вопрос.
Можно как-то запретить повторную отправку POST-данных?
Может лучше сделать это через сессии? Если да то как?

Отзовитесь кто писал тестовые системы плз.
 

netklon

Новичок
1. пользователь открыл тест. запускается сессия. в бд ложится список вопросов этой сессии.
- если тест разбит на неск-ко страниц, то при ПОСТе ответов с одной из страниц, записывать в БД результаты ответов. Соответстенно на эту страницу больше не пускать.
2. Когда пользователь проходит весь тест - поставить на всю сессию флаг "пройдено" и больше не давать проходить тест.
 

sTar

Guest
результаты записываются. Тут проблема выборки вопроса.

Если нажать "Обновить" то будет другой вопрос как мне сделать чтобы его небыло, а был тот же что и первый раз?
 

arz_user

Guest
Может стоить записать в сессию id вопроса, на котором остановился юзер и постоянно проверять?
 

agx

Программер :-)
А может использовать редирект?
После того, как запрос выбран, делать редирект с его id, тогда после обновления отобразится этот же вопрос.
 

netklon

Новичок
когда польз-ль открывает страницу с тестом - id выбранного вопроса и id тестовой сессии кладутся в БД.
польз-ль жмет "обновить" - проверяется есть ли в БД вопрос данной тестовой сессии, на который не был получен ответ. если есть - показываем его. нет - грузим след. вопрос.
 

-=KPOT=-

Новичок
сам диплом на эту тему делаю
поэтому я думаю делать так:
- список вопросов (или их id) которые будут выданы пользователю храним в сессии, там же храним номер текущего вопроса
соответственно если отвечаем на вопрос номер меняется на следующий (вопрос тоже меняем ;-)), если нет - то нет
поэтому при обновленнии вопрос меняться не будет т.к. он будет выдаваться на основе номера в сессии
 
Сверху