Онлайн тест на PHP

15 мая 2020 - Администратор

Онлайн тест на PHP

HTML формы PHP обработчики форм можно использовать для создания различных online тестов. Мы создадим простейший on line тест в котором задаются вопросы, предлагаются несколько вариантов ответов, необходимо выбрать правильные ответы на каждый вопрос, после отправки наших ответов php обрабтчик подсчитает количество верных ответов.
Чтобы создать онлайн тест на PHP, используем массив из элементов HTML формы radiobutton. 
Синтаксис оформления вопроса для онлайн теста на PHP
Вопрос <br>
<input name="имя массива[номер вопроса]" type="radio" value="Неверно">Вариант неверного ответа 1<br>
<input name=" имя массива[номер вопроса]" type="radio" value="Верно"> Вариант верного ответа <br>
<input name="имя массива[номер вопроса]"type="radio" value="Неверно"> Вариант неверного ответа 2<br>
...

Поместим все эти вопросы в HTML форму. В конце HTML формы должна быть кнопка "Отправить"
Общий синтаксис HTML формы для онлайн тестов
<form method='get'>
Вопрос 1
Вопрос 2
Вопрос 3
...
<input type='submit' name="имя кнопки" value='название кнопки'>
</form>

PHP обработчик онлайн тестов

PHP обработчик подсчитывает количество верных ответов.  PHP обработчик с помощью $_GET получает массив ответов. Необходимо проверить, существует ли этот массив, с помощью условия:
if (is_array($_GET['answer'])){
   foreach($_GET['имямассива с ответами'] as $переменная значения) 
        {
Действия
}

  Чтобы проанализировать ответы на все вопросы, нужно использовать цикл для перебора всех элементов массива ответов foreach. Чтобы считать массив ответов, используется глобальный массив $_GET['массив ответов']  Подробнее о работе с массивами в PHP

Вводится переменная, которая отвечает за количество правильных ответов. В начале эта переменная обнуляется. Чтобы понять, что ответ верный, необходимо использовать условие:
if ($value=='Верно') { 
Действия
        }

Полный код примера онлайн теста на PHP
<form method='get'>
Кто написал "Война и мир"?<br>
<input name="answer[0]" type="radio" value="Неверно">А.С. Пушкин<br>
<input name="answer[0]" type="radio" value="Верно">Л.Н. Толстой<br>
<input name="answer[0]" type="radio" value="Неверно">М.Ю. Лермонтов<br>
Кто написал "Властелин колец"?<br>
<input name="answer[1]" type="radio" value="Неверно">А.С. Пушкин<br>
<input name="answer[1]" type="radio" value="Неверно">Братья Гримм<br>
<input name="answer[1]" type="radio" value="Верно">Д.Толкиен<br>
Какая формула используется для вычисления площади треугольника?<br>
<input name="answer[2]" type="radio" value="Верно">a*h/2<br>
<input name="answer[2]" type="radio" value="Неверно">a*h<br>
<input name="answer[2]" type="radio" value="Неверно">2*a*h<br>
<input type='submit' name="Submit" value='Отправить'>
</form>
<?php
$k=0;
   if (is_array($_GET['answer'])){
   foreach($_GET['answer'] as $value) 
        {
         if ($value=='Верно') { 
         $k=$k+1;
        }
        echo $value, '<br>'; 
        }
  echo "У вас {$k} правильных ответов", '<br>'; 
      }
?>

В итоге на веб странице будет следующий online тест

тест на php

Вернуться к содержанию курса по PHP   Перейти к теме Базы данных в PhpMyAdmin >>

Полезно : Регистрация домена и размещение сайта на хостинге

Поделиться 

 
 
Комментарии (0)

Нет комментариев. Ваш будет первым!