Консультация № 182367
03.03.2011, 17:10
55.01 руб.
0 3 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Сегодня получил задание сделать тест средствами РНР. В рнр немного разбираюсь, но сделать все равно не получилось. Вот структура теста http://s58.radikal.ru/i159/1103/d8/4fea8954b425.jpg

Обсуждение

Неизвестный
03.03.2011, 17:34
общий
Хоть скажите через что делать, через IF начал делать, но запутался
давно
Старший Модератор
312929
1973
04.03.2011, 07:50
общий
это ответ
Здравствуйте, DaImeR!


Вот вариант в первом приближении:

Код:

<?php
session_start();
if (isset($_POST['answer'])) $_SESSION['test'] = $_SESSION['test'][$_POST['answer']];
else $_SESSION['test'] = array(
"question" => "Подается ток на стартер?",
"yes" => array(
"question" => "Есть топливо в баке?",
"yes" => array(
"question" => "Жиклер прочищен?",
"yes" => array(
"question" => "Есть топливо в жиклере карбюратора?",
"yes" => "Отрегулируйте клапан карбюратора",
"no" => "Проверьте исправность бензонасоса"
),
"no" => "Прочистите жиклер"
),
"no" => "Залейте топливо в бак"
),
"no" => array(
"question" => "Аккумулятор или батарея заряжены?",
"yes" => array(
"question" => "Подключены клеммы батареи?",
"yes" => array(
"question" => "Есть искра между электродами свечи?",
"yes" => array(
"question" => "Исправен соленоид стартера?",
"yes" => "Проверьте двигатель стартера",
"no" => "Замените соленоид стартера"
),
"no" => "Прочистите контакты прерывателя"
),
"no" => "Проверьте соединительные провода"
),
"no" => "Зарядите аккумулятор"
)
);
echo "<html>
<head>
</head>
<body>";
if (is_array($_SESSION['test'])) echo "
<b>{$_SESSION[test][question]}</b>
<form method=post>
<input type=radio name=answer value='yes' onchange='this.form.submit()'> Да
<input type=radio name=answer value='no' onchange='this.form.submit()'> Нет
</form>";
else echo "
<b>{$_SESSION[test]}</b>";
echo "
</body>
</html>";
?>


Он, конечно, не идеален (например, нельзя вернуться назад и выбрать другой ответ), но в целом работает.
Неизвестный
04.03.2011, 19:37
общий
Думал будет попроще, но все равно спасибо)
Форма ответа