Справочники, инструменты, документация

PHP: Простой тест

Этот простой скрипт на PHP показывает, как можно описать некий тест в виде массива вопросов и ответов.
<form method="post" action="test.php">
    <div class="element">
        <p><strong>Вопрос №1:</strong> Столица России</p>
        <p><input type="radio" name="capital" value="Санкт-Петербург"> Санкт-Петербург</p>
        <p><input type="radio" name="capital" value="Париж"> Париж</p>
        <p><input type="radio" name="capital" value="Москва"> Москва</p>
        <p><input type="radio" name="capital" value="Пекин"> Пекин</p>
    </div>
    <div class="element">
        <p><strong>Вопрос №2:</strong> Сколько будет (5 + 5 + 5) - (5 + 5) * 0</p>
        <p><input type="text" name="matematic" placeholder="Введите сюда ответ" /></p>
    </div>
    <div class="element">
        <p><strong>Вопрос №3:</strong> Вы счастливый человек? (Правильный ответ - Да! ^_^)</p>
        <p><input type="radio" name="happy" value="Да"> Да</p>
        <p><input type="radio" name="happy" value="Нет"> Нет</p>
    </div>
    <div class="element">
        <p><strong>Вопрос №4:</strong> Выберите мужские имена</p>
        <p><input type="checkbox" name="gender1" value="Михаил"> Михаил</p>
        <p><input type="checkbox" name="gender2" value="Анастасия"> Анастасия</p>
        <p><input type="checkbox" name="gender3" value="Стёпа"> Стёпа</p>
        <p><input type="checkbox" name="gender4" value="Светлана"> Светлана</p>
        <p><input type="checkbox" name="gender5" value="Габи"> Габи</p>
    </div>
    <div class="element">
        <p><input type="submit" value="Отправить ответы" /></p>
    </div>
</form>

test.php

<?php
    //Получаем данные из глобальной переменной $_POST, так как мы передаем данные методом POST
    $capital = $_POST['capital']; // Вытаскиваем ответ на первый вопрос в переменную
    $matematic = $_POST['matematic']; // Вытаскиваем ответ на второй вопрос в переменную
    $happy = $_POST['happy']; // Вытаскиваем ответ на третий вопрос в переменную

    /* Вопрос четвёртый с несколькими вариантами ответов */
    $hgender1 = $_POST['gender1']; 
    $hgender2 = $_POST['gender2']; 
    $hgender3 = $_POST['gender3']; 
    $hgender4 = $_POST['gender4']; 
    $hgender5 = $_POST['gender5']; 

    $result = 0; // результат будет в процентах правильных ответов

    /* проверяем первый вопрос */
    if ($capital == "Санкт-Петербург") {
        $result += 25;
    }

    /* проверяем второй вопрос */
    if ($happy == "Да") {
        $result += 25;
    }

    /* проверяем третий вопрос */
    if ($matematic == "15") {
        $result += 25;
    }

    /* Проверяем четвёртый вопрос */
    $subresult = 0; // дополнительная переменная для подсчёта правильности ответов на 4 вопрос

        /* если мужское имя выбрано правильно то увеличиваем счётчик */
    if ($hgender1 != '') {
        $subresult++;
    }
    if ($hgender3 != '') {
        $subresult++;
    }
        /* если выбрано женское имя уменьшаем счётчик */
    if ($hgender2 != '') {
        $subresult--;
    }
    if ($hgender4 != '') {
        $subresult--;
    }
    if ($hgender5 != '') {
        $subresult--;
    }

    if ($subresult == 2) {
        $result += 25;
    }

    echo "<center>Вы прошли тест на <strong>$result%</strong></center>";
?>