Задать вопрос
@sergei026
Стремлюсь стать верстальщиком

Как сделать чтобы в тесте при правильном ответе цвет вопроса становился зеленым, а при не правильным красным?

Дан массив с вопросами и правильными ответами. Реализуйте тест: выведите на экран все вопросы,
под каждым инпут. Пользователь читает вопрос, пишет свой ответ в инпут. Когда вопросы заканчиваются -
он жмет на кнопку, страница обновляется и вместо инпутов под вопросами появляется сообщение вида:
'ваш ответ: ... верно!' или 'ваш ответ: ... неверно! Правильный ответ: ...'.
Правильно отвеченные вопросы должны гореть зеленым цветом, а неправильно - красным.

<?php
// Тут дан массив
$arr = [
    'Сколько будет 2 + 2?' => [1,2,3,4],
    'Квадратный корень из 25' => [5,4,20,10],
    'Умножить 5 на 3' => [5,9,54,15],
];
// Проверяет все ли ответы введены и ...
if (isset($_REQUEST['question1']) && isset($_REQUEST['question2']) && isset($_REQUEST['question3'])){
    $question1=$_REQUEST['question1'];
    $question2=$_REQUEST['question2'];
    $question3=$_REQUEST['question3'];

}
// Функция выводит правильный ли ответ или нет
function inpt ($question1) {
    global $arr;
    if ($question1 ==  ''){

    } elseif ($question1 <>  $arr['Сколько будет 2 + 2?'][3]) {
        return 'Ваш ответ:'. $question1 .' неверно! Правильный ответ: '.$arr['Сколько будет 2 + 2?'][3];
    } elseif ($question1 ==  $arr['Сколько будет 2 + 2?'][3]) {

     return 'Ваш ответ:'. $question1 .' верно!';
    }
}
function inpt2 ($question2) {
    global $arr;
    if ($question2 ==  ''){

    } elseif ($question2 <>  $arr['Квадратный корень из 25'][0]) {
        return 'Ваш ответ:'. $question2 .' неверно! Правильный ответ: '.$arr['Квадратный корень из 25'][0];
    } elseif ($question2 ==  $arr['Квадратный корень из 25'][0]) {

        return 'Ваш ответ:'. $question2 .' верно!';
    }
}
function inpt3 ($question3) {
    global $arr;
    if ($question3 ==  ''){

    } elseif ($question3 <>  $arr['Умножить 5 на 3'][3]) {
        return 'Ваш ответ:'. $question3 .' неверно! Правильный ответ: '.$arr['Умножить 5 на 3'][3];
    } elseif ($question3 ==  $arr['Умножить 5 на 3'][3]) {

        return 'Ваш ответ:'. $question3 .' верно!';
    }
}

?>
 <!--Форма-->
<form method="get" action="">
   <?php echo( array_keys($arr)[0]); ?> <br>
    <input type="text" name="question1"> <br><br>
    <?php echo inpt($question1)?><br><br>

    <?php echo( array_keys($arr)[1]); ?> <br>
    <input type="text" name="question2"> <br><br>
    <?php echo inpt2($question2)?><br><br>

    <?php echo( array_keys($arr)[2]); ?> <br>
    <input type="text" name="question3"> <br><br>
    <?php echo inpt3($question3)?><br><br>

    <input type="submit"><br>




</form>
  • Вопрос задан
  • 636 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы