Онлайн тест на PHP
HTML формы PHP обработчики форм можно использовать для создания различных online тестов. Мы создадим простейший on line тест в котором задаются вопросы, предлагаются несколько вариантов ответов, необходимо выбрать правильные ответы на каждый вопрос, после отправки наших ответов php обрабтчик подсчитает количество верных ответов.
Чтобы создать онлайн тест на PHP, используем массив из элементов HTML формы radiobutton.
Синтаксис оформления вопроса для онлайн теста на PHP
Вопрос
Вариант неверного ответа 1
Вариант верного ответа
Вариант неверного ответа 2
.
Поместим все эти вопросы в HTML форму. В конце HTML формы должна быть кнопка «Отправить»
Общий синтаксис HTML формы для онлайн тестов
PHP обработчик онлайн тестов
PHP обработчик подсчитывает количество верных ответов. PHP обработчик с помощью $_GET получает массив ответов. Необходимо проверить, существует ли этот массив, с помощью условия:
if (is_array($_GET[‘answer’])) foreach($_GET[‘имямассива с ответами’] as $переменная значения)
Действия
>
Чтобы проанализировать ответы на все вопросы, нужно использовать цикл для перебора всех элементов массива ответов foreach. Чтобы считать массив ответов, используется глобальный массив $_GET[‘массив ответов’] Подробнее о работе с массивами в PHP
В итоге на веб странице будет следующий online тест
Как создать онлайн тест на php
Иногда людям не знающим программирования, нужно создать онлайн тест на php для своего сайта, на самом деле все очень просто, постараюсь наглядно объяснить.
Для решения данной задачи мы будем использовать простую HTML форму и POST запросы. И так приступим.
1. Нам потребуется создать файл php, в общем по сути не важно, если вы используете CMS, то пишете там, где можно вставить php код.
2. Создадим простую форму с полями «radio», то есть для выбора вариантов ответа и кнопкой для результатов.
3. Отлично мы создали форму. Теперь в неё нужно внести изменения, чтобы она работала.
method=»POST» — метод отправки php форм.
action=»result.php» — файл, в который будут отправляться результаты формы.
4. Присвоим уникальное имя вариантам ответов, чтобы объединить их между собой, для одного вопроса — name = «имя»:
5. А теперь пропишем имя ответов к каждому варианту, например ‘value = «a»‘
6. Создадим файл result.php в том же каталоге, в котором создадим скрипт теста на php для обработки и вывода результата правильных и не правильных ответов.
Правильных ответов:
Неправильных ответов:
7. Перед html кодом добавим скрипт php:
Описание: Здесь все довольно просто, мы создаем простое условие для каждого вопроса. Если в вопросе [q1] вариант «a», то прибавляем к переменной «$ot» + 1 ($ot — количество правильных ответов), если другой вариант то записываем в переменную $not «неправильных ответов» + 1.
8. Теперь выводим на страницу в html коде правильные и неправильные ответы:
Правильных ответов:
Неправильных ответов:
Заключение. Теперь у вас есть простой тест на php и html, теперь можно и запустить его для онлайн. Вы можете добавить сколько угодно вариантов ответов по аналогии. Добавить стилей и улучшить код. Можно было все сделать намного грамотней, но проще этого не придумаешь. Работа у теста такая: выбрали варианты, нажали на кнопку «результат», нас перекидывает на вторую страницу, где выводится подсчет правильных и неправильных ответов. Удачи!
С помощью POST-запроса можно реализовать обратную форму, о том, как это делается читайте в статье — Форма обратной связи php без спама.
Тест с помощью пхп, проверка ответов с бд
Как организовать заливку ответов в радио из бд и проверку из неё же правильных ответов. Нехрена не понимаю, я просто в отчаянии. SQL немного учили, js немного учили, базу создать на денвере могу, с php никак
Уточнение ответов на тест
Ребята, помогите обосновать ответы на пару вопросов в тесте. Вопрос 1 верные варианты ответа.
Варианты ответов (тест)
Если derived class (Class2) содержит переопределеную функцию из the base class (Class1), как может.
Тест. Присваивание ответов RadioButton
Тест сделал. Решил варианты ответов присваивать в Радиобаттоны, но почемуто они не меняются.
Случайное размещение ответов на тест
Здравствуйте! Есть программа — тест. Есть документ, где вопросы, ответы и верный вариант ответа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
$location = "localhost"; // Хост базы $dbname = "mybase"; // Название БД MySQL $dbuser = "root"; // Пользователь MySQL $dbpass = ""; // Пароль пользователя // Устанавливаем коннект с MySQL $dbconnect = @mysql_connect($location, $dbuser, $dbpass); //Выбираем БД MySQL @mysql_select_db($dbname, $dbconnect); if (!$dbconnect) { echo "Нет коннекта"; exit (); } // Выбираем ВСЕ ответы для данного вопроса из БД $allquest = mysql_query("SELECT * FROM answers WHERE for_id='1'"); // Если нажата кнопка "ОК" if(isset($_POST['sbmanswer'])) { // Тут проверяем if(mysql_num_rows(mysql_query("SELECT * FROM answers WHERE answer']."'&&believed='1'"))>0) { echo "Ответ верен
"; } else { echo "Ответ не верен
"; } } ?> Тут ваш вопрос:
Для начала нужно создать БД mysql, в ней таблицу «answers» с такими полями:
id (ID вопроса в БД, он будет подставляться при выводе ответов к вопросу)
for_id (ID ответа, для которого предназначен данный ответ)
answer (Текст ответа, например «Ответ №1»)
believed (Этот столбец нужен для проверки, верен ли ответ. В него ставим при INSERT’e единицу если ответ верен)
Добавлено через 10 минут
P.S. Естественно, это код будет работать только с одним вопросом (его > 1
Сообщение от Lyodik
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
$location = "localhost"; // Хост базы $dbname = "mybase"; // Название БД MySQL $dbuser = "root"; // Пользователь MySQL $dbpass = ""; // Пароль пользователя // Устанавливаем коннект с MySQL $dbconnect = @mysql_connect($location, $dbuser, $dbpass); //Выбираем БД MySQL @mysql_select_db($dbname, $dbconnect); if (!$dbconnect) { echo "Нет коннекта"; exit (); } // Выбираем ВСЕ ответы для данного вопроса из БД $allquest = mysql_query("SELECT * FROM answers WHERE for_id='1'"); // Если нажата кнопка "ОК" if(isset($_POST['sbmanswer'])) { // Тут проверяем if(mysql_num_rows(mysql_query("SELECT * FROM answers WHERE answer']."'&&believed='1'"))>0) { echo "Ответ верен
"; } else { echo "Ответ не верен
"; } } ?> Тут ваш вопрос:
Для начала нужно создать БД mysql, в ней таблицу «answers» с такими полями:
id (ID вопроса в БД, он будет подставляться при выводе ответов к вопросу)
for_id (ID ответа, для которого предназначен данный ответ)
answer (Текст ответа, например «Ответ №1»)
believed (Этот столбец нужен для проверки, верен ли ответ. В него ставим при INSERT’e единицу если ответ верен)
Добавлено через 10 минут
P.S. Естественно, это код будет работать только с одним вопросом (его