Показать сообщение отдельно
  #25 (permalink)  
Старый 01.07.2015, 20:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

<?php
//если пришла форма, проверка вариантов
//выбираем только те задачи, на которые есть варианты ответа
if($_POST AND $chk = array_diff(array_map('intval', $_POST['check1']), array(0))) {
    //если $chk не пустой, значит есть варианты ответов
    //массив правильных ответов, 
    //первичный клоюч массива определяет страницы с задачиами вариантов, то есть Вариант 1 и т.д.
    //номер страниц вариантов присоедняется к имени поля ввода варинта ответа
    //а индексы вложенных ключей равны индексам полей
    $checked = array(
        //правильные ответы для страницы "Варианты 1"
        'check1' => array(1=>2, 3, 3, 1 , 2, 4)         
    );
    //идентификатор ключа страницы
    $key = key($_POST);
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form method="post" autocomplete="off">
<div>
<p>Задача 1</p>
<?=$chk && array_key_exists(1, $chk) ? ($chk[1]==$checked[$key][1] ? '<p>Верно</p>' : '<p>Не верно</p>') : null?>
<input name="check1[1]" />
</div>
<div>
<p>Задача 2</p>
<?=$chk && array_key_exists(2, $chk) ? ($chk[2]==$checked[$key][2] ? '<p>Верно</p>' : '<p>Не верно</p>') : null?>
<input name="check1[2]" />
</div>
<div>
<p>Задача 3</p>
<?=$chk && array_key_exists(3, $chk) ? ($chk[3]==$checked[$key][3] ? '<p>Верно</p>' : '<p>Не верно</p>') : null?>
<input name="check1[3]" />
</div>
<div>
<p>Задача 4</p>
<?=$chk && array_key_exists(4, $chk) ? ($chk[4]==$checked[$key][4] ? '<p>Верно</p>' : '<p>Не верно</p>') : null?>
<input name="check1[4]" />
</div>
<div>
<p>Задача 5</p>
<?=$chk && array_key_exists(5, $chk) ? ($chk[5]==$checked[$key][5] ? '<p>Верно</p>' : '<p>Не верно</p>') : null?>
<input name="check1[5]" />
</div>
<div>
<p>Задача 6</p>
<?=$chk && array_key_exists(6, $chk) ? ($chk[6]==$checked[$key][6] ? '<p>Верно</p>' : '<p>Не верно</p>') : null?>
<input name="check1[6]" />
</div>
<br /><br />
<button>Проверить</button>
</form>
</body>
</html>


Загрузите на сервер этот пример под любым именем и выполните. Форма одна, но проверятся будут только те "задачи", на которые есть варианты ответов. Не нужно кучи форм!

Проверять должен сервер, а проверяется просто - по ключам и индексам. Какое отношение к этой проверке имеет JS?

Только содержимое таких страниц, сами задачи, нужно выводить в цикле и в нем же делать проверку, а не прописывать многократно код.

Все, более я не знаю как вам пояснить то, что вы не с того требуете результат - с клиента.
Ответить с цитированием