| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > защита от множественного выбора |
| Автор: godvinn 30.10.2008, 18:15 | ||
| Здравствуйте. Помогите с следующей задачей: есть следующая форма
правильные ответы хранятся в БД, все вопросы выводятся на одной странице не по одному. *допустим к вопросу правильные ответы 2,3 , а пользователь выставил все 4 галочки , как этот вопрос не воспринимать как правильный а воспринимать только на правильные ответы. то есть суть задачи в том: как избежать "наклацывания" *? |
| Автор: bars80080 30.10.2008, 18:23 |
| как? обработку соответствующую задать. если есть ещё кроме правильных - писать неправильно |
| Автор: godvinn 30.10.2008, 18:29 | ||
| ну я делаю следующим образом: у меня есть
сделал два счётчика на правильные ответы и неправильные ответы. а вот как дальше не знаю? |
| Автор: baldina 30.10.2008, 18:30 | ||
| каждому ответу присваивается значение - степень двойки. значения чекбоксов, отмеченных пользователем складываются. в базе хранятся суммы. полученное значение сравнивается с хранимым в базе. пример: ответ 1 - значение 1 ответ 2 - значение 2 ответ 3 - значение 4 ответ 4 - значение 8 из них правильные, например, 2 и 3. сумма - 6 способ позволяет не только быстро проверить правильность ответа, но и проанализировать, что именно правильно/неправильно Добавлено @ 18:38 что-то типа
|
| Автор: godvinn 30.10.2008, 18:41 |
| baldina - да способ действительно хорош но.... если пользователь выбирает с 2 правильных ответов 1 - вопрос считается неправильным? или ты имеешь ввиду только половину брать от суммы? и если пользователь выберет все 4 варианта то сумма прийдет с формы в полном обьеме*? |
| Автор: baldina 30.10.2008, 18:47 |
| что в этом случае - знаешь ты, а не я это же зависит от конкретных вопросов и ответов. есть вопросы, где перечислены разные способы одного и того же, для таких частичный ответ - правильный, но в зависимости от близости к идеальному сумма может меняться. а есть вопросы, где надо однозначно знать перечень, тут либо точно, либо никак. |
| Автор: bars80080 30.10.2008, 19:10 |
| godvinn, ну ведь это самое оптимальное решение. в БД можно даже сразу хранить контрольную сумму. для 2 и 3 правильных ответов - она 6, нужно просто высчитать сумму принятых чекбоксов и сравнить с контрольной |
| Автор: godvinn 30.10.2008, 19:14 |
| bars80080 не ну а если выбирается все 4 галочки в чекбоксах то сума прийдет 6? и естественно она будет совпадать с сумой с БД. правильно же ?* |
| Автор: baldina 30.10.2008, 19:18 |
| 1+2+4+8=15 имхо ;) |