Перейти к содержанию
Valera161rus

Помогите исправить ТЕСТ на JavaScript'e !

Рекомендуемые сообщения

У меня есть ТЕСТ на JavaScript'e там 10 вопросов мне надо исправить чтоб там было 5 вопросов и чтоб в конце выдавал оценку

1 правельный ответ 2-

2 правельных ответа 2

3 правельных ответа 3

4 правельных ответа 4

5 правельных ответов 5

Я сам попробовал исправить, у меня не получилась!( Помогите плиз

<head>
<script type="text/javascript">
function showById(id, visible) {
document.getElementById(id).style.display =
visible ? 'block' : 'none'
}
function processForm(f) {
var i, s='', el
var questions = new Object()
var answers = new Object()
for (i=0; i<f.length; i++) {
el = f.elements[i]
if (el.type=='radio' && el.name.indexOf('question')==0) {
questions[el.name] = 0
if (el.checked)
answers[el.name] = parseInt(el.value)
}
}
var asked = 0, answered = 0, score = 0
for (i in questions) asked++
for (i in answers) {
answered++
score += answers[i]
}
if (answered < asked) {
alert('Вы ответили на '+answered+' вопросов из '+asked+'. Для получения достоверного результата нужно ответить на все воросы')
}
else {
showById('questionsForm', false)
el = document.getElementById('score')
el.innerHTML = (score>0) ? '+'+score : score
showById('results', true)
if (score == 0)
showById('1-', true)
else if (score == 1)
showById('1-', true)
else if (score == 2)
showById('1', true)
else if (score == 3)
showById('1+', true)
else if (score == 4)
showById('2-', true) 
else if (score == 5)
showById('2', true) 
else if (score == 6)
showById('2+', true)
else if (score == 7)
showById('3-', true)
else if (score == 8)
showById('3', true)
else if (score == 9)
showById('3+', true)
else if (score == 10)
showById('4-', true)
}
}
function resetTest() {
showById('results', false)
showById('questionsForm', true)
document.forms['opros'].reset()
}
</script>
</head>
<body>
<br>
<hr width="100%" size=2>
<h3 align="center">Тест Учебный:</h3>
<hr width="100%" size=2>
<br>
<div id="questionsForm">
<form name="opros">
<p/>
<strong><font color="#FF0000">1.</font> Вопрос:</strong> <font color="#0000FF">Какого цвета красный цвет?</font>
<br/><br/>
<input type="radio" name="question1" value="0" id="q1a1"/><label for="q1a1">1. Белый</label>
<br/>
<input type="radio" name="question1" value="0" id="q1a2"/><label for="q1a2">2. Чёрный</label>
<br/>
<input type="radio" name="question1" value="1" id="q1a3"/><label for="q1a3">3. Красный</label>
<br/>
<input type="radio" name="question1" value="0" id="q1a4"/><label for="q1a4">4. Зелёный</label>
<br/><br/>
<strong><font color="#FF0000">2.</font> Вопрос:</strong> <font color="#0000FF">Какой формы круг? </font>
<br/>
<br/>
<input type="radio" name="question2" value="0" id="q2a1"/><label for="q2a1">1. Квадратной</label>
<br/>
<input type="radio" name="question2" value="1" id="q2a2"/><label for="q2a2">2. Круглой</label>
<br/>
<input type="radio" name="question2" value="0" id="q2a3"/><label for="q2a3">3. Треугольной</label>
<br/>
<input type="radio" name="question2" value="0" id="q2a4"/><label for="q2a4">4. Прямоугольной</label>
<br/><br/>
<strong><font color="#FF0000">3.</font> Вопрос:</strong> <font color="#0000FF">Чему равна цифра 5 ?</font>
<br/><br/>
<input type="radio" name="question3" value="0" id="q3a1"/><label for="q3a1">1. Шести</label>
<br/>
<input type="radio" name="question3" value="0" id="q3a2"/><label for="q3a2">2. Семи</label>
<br/>
<input type="radio" name="question3" value="0" id="q3a3"/><label for="q3a3">3. Двум</label>
<br/>
<input type="radio" name="question3" value="1" id="q3a4"/><label for="q3a4">4. Пяти</label>
<br/><br/>
<strong><font color="#FF0000">4.</font> Вопрос:</strong> <font color="#0000FF">Сколько в неделе дней?</font>
<br/>
<br/>
<input type="radio" name="question4" value="0" id="q4a1"/><label for="q4a1">1. 3</label>
<br/>
<input type="radio" name="question4" value="0" id="q4a2"/><label for="q4a2">2. 4</label>
<br/>
<input type="radio" name="question4" value="1" id="q4a3"/><label for="q4a3">3. 7</label>
<br/>
<input type="radio" name="question4" value="0" id="q4a4"/><label for="q4a4">4. 100</label>
<br/><br/>
<strong><font color="#FF0000">5.</font> Вопрос:</strong> <font color="#0000FF">Сколько в сутках часов?</font>
<br/>
<br/>
<input type="radio" name="question5" value="1" id="q5a1"/><label for="q5a1">1. 24</label>
<br/>
<input type="radio" name="question5" value="0" id="q5a2"/><label for="q5a2">2. 500</label>
<br/>
<input type="radio" name="question5" value="0" id="q5a3"/><label for="q5a3">3. 100500</label>
<br/>
<input type="radio" name="question5" value="0" id="q5a4"/><label for="q5a4">4. 3</label>
<br/><br/>
<strong><font color="#FF0000">6.</font> Вопрос:</strong> <font color="#0000FF">Какое животное летает?</font>
<br/><br/>
<input type="radio" name="question6" value="0" id="q6a1"/><label for="q6a1">1. Кошка</label>
<br/>
<input type="radio" name="question6" value="0" id="q6a2"/><label for="q6a2">2. Собака.</label>
<br/>
<input type="radio" name="question6" value="0" id="q6a3"/><label for="q6a3">3. Лев.</label>
<br/>
<input type="radio" name="question6" value="1" id="q6a4"/><label for="q6a4">4. Воробей.</label>
<br/><br/>
<strong><font color="#FF0000">7.</font> Вопрос:</strong> <font color="#0000FF">Какой матреиал прозрачный?</font>
<br/>
<br/>
<input type="radio" name="question7" value="0" id="q7a1"/><label for="q7a1">1. Сталь</label>
<br/>
<input type="radio" name="question7" value="1" id="q7a2"/><label for="q7a2">2. Стекло</label>
<br/>
<input type="radio" name="question7" value="0" id="q7a3"/><label for="q7a3">3. Медь</label>
<br/>
<input type="radio" name="question7" value="0" id="q7a4"/><label for="q7a4">4. Дерево.</label>
<br/><br/>
<strong><font color="#FF0000">8.</font> Вопрос:</strong> <font color="#0000FF">Два + Два</font>
<br/><br/>
<input type="radio" name="question8" value="1" id="q8a1"/><label for="q8a1">1. Четыре</label>
<br/>
<input type="radio" name="question8" value="0" id="q8a2"/><label for="q8a2">2. Сто</label>
<br/>
<input type="radio" name="question8" value="0" id="q8a3"/><label for="q8a3">3. Восемь</label>
<br/>
<input type="radio" name="question8" value="0" id="q8a4"/><label for="q8a4">4. Три</label>
<br/><br/>
<strong><font color="#FF0000">9.</font> Вопрос:</strong> <font color="#0000FF">Сколько лет в веке?</font>
<br/><br/>
<input type="radio" name="question9" value="0" id="q9a1"/><label for="q9a1">1. Два года</label>
<br/>
<input type="radio" name="question9" value="0" id="q9a2"/><label for="q9a2">2. Пять лет</label>
<br/>
<input type="radio" name="question9" value="1" id="q9a3"/><label for="q9a3">3. Сто лет</label>
<br/>
<input type="radio" name="question9" value="0" id="q9a4"/><label for="q9a4">4. Десять</label>
<br/><br/>
<strong><font color="#FF0000">10.</font> Вопрос:</strong> <font color="#0000FF">Что из перечисленного является растением? </font>
<br/><br/>
<input type="radio" name="question10" value="0" id="q10a1"/><label for="q10a1">1. Стол</label>
<br/>
<input type="radio" name="question10" value="1" id="q10a2"/><label for="q10a2">2. Лопух</label>
<br/>
<input type="radio" name="question10" value="0" id="q10a3"/><label for="q10a3">3. Автомобиль</label>
<br/>
<input type="radio" name="question10" value="0" id="q10a4"/><label for="q10a4">4. Книга</label>
<br/><br/>
<input type="button" value="Отправить" onClick="processForm(this.form)"/>
<input type="reset" value="Очистить"></input>
</form>
</div>
<hr/>
<div id="results" style="display: none;">
Количество правильных ответов: <span id="score"></span>
<div id="1-" style="display: none;">
<p>Ваша оценка: 1-</p>
</div>
<div id="1-" style="display: none;">
<p>Ваша оценка: 1-</p>
</div>
<div id="1" style="display: none;">
<p>Ваша оценка: 1</p>
</div>
<div id="1+" style="display: none;">
<p>Ваша оценка: 1+</p>
</div>
<div id="2-" style="display: none;">
<p>Ваша оценка: 2-</p>
</div>
<div id="2" style="display: none;">
<p>Ваша оценка: 2</p>
</div>
<div id="2+" style="display: none;">
<p>Ваша оценка: 2+</p>
</div>
<div id="3-" style="display: none;">
<p>Ваша оценка: 3-</p>
</div>
<div id="3" style="display: none;">
<p>Ваша оценка: 3</p>
</div>
<div id="3+" style="display: none;">
<p>Ваша оценка: 3+</p>
</div>
<div id="4-" style="display: none;">
<p>Ваша оценка: 4-</p>
</div>
</div>
<hr/>
<p>Спасибо за участие в тестировании</p>
<input type="button" value="Начать заново" onClick="resetTest()"/>
</div>
<br><br>
</body>

Поделиться сообщением


Ссылка на сообщение

Все очень просто, существуют блоки с вопросами, их, как я понял можно делать сколь угодно много)

Правда этот тест обречен на провал.. ибо посмотрев исходный код можно узнать правильные ответы))

Вот блок вопроса:

<strong><font color="#FF0000">2.</font> Вопрос:</strong> <font color="#0000FF">Какой формы круг? </font>
<br/>
<br/>
<input type="radio" name="question2" value="0" id="q2a1"/><label for="q2a1">1. Квадратной</label>
<br/>
<input type="radio" name="question2" value="1" id="q2a2"/><label for="q2a2">2. Круглой</label>
<br/>
<input type="radio" name="question2" value="0" id="q2a3"/><label for="q2a3">3. Треугольной</label>
<br/>
<input type="radio" name="question2" value="0" id="q2a4"/><label for="q2a4">4. Прямоугольной</label>
<br/><br/>

правильный ответ тут

<input type="radio" name="question2" value="1" id="q2a2"/><label for="q2a2">2. Круглой</label>

ибо value='1'

Вот то что ты просил (5ть вопросов):

<head>
<script type="text/javascript">
function showById(id, visible) {
document.getElementById(id).style.display =
visible ? 'block' : 'none'
}
function processForm(f) {
var i, s='', el
var questions = new Object()
var answers = new Object()
for (i=0; i<f.length; i++) {
el = f.elements[i]
if (el.type=='radio' && el.name.indexOf('question')==0) {
questions[el.name] = 0
if (el.checked)
answers[el.name] = parseInt(el.value)
}
}
var asked = 0, answered = 0, score = 0
for (i in questions) asked++
for (i in answers) {
answered++
score += answers[i]
}
if (answered < asked) {
alert('Вы ответили на '+answered+' вопросов из '+asked+'. Для получения достоверного результата нужно ответить на все воросы')
}
else {
showById('questionsForm', false)
el = document.getElementById('score')
el.innerHTML = (score>0) ? '+'+score : score
showById('results', true)
if (score == 0)
showById('1-', true)
else if (score == 1)
showById('1-', true)
else if (score == 2)
showById('1', true)
else if (score == 3)
showById('1+', true)
else if (score == 4)
showById('2-', true) 
else if (score == 5)
showById('2', true) 
else if (score == 6)
showById('2+', true)
else if (score == 7)
showById('3-', true)
else if (score == 8)
showById('3', true)
else if (score == 9)
showById('3+', true)
else if (score == 10)
showById('4-', true)
}
}
function resetTest() {
showById('results', false)
showById('questionsForm', true)
document.forms['opros'].reset()
}
</script>
</head>
<body>
<br>
<hr width="100%" size=2>
<h3 align="center">Тест Учебный:</h3>
<hr width="100%" size=2>
<br>
<div id="questionsForm">
<form name="opros">
<p/>
<strong><font color="#FF0000">1.</font> Вопрос:</strong> <font color="#0000FF">Какого цвета красный цвет?</font>
<br/><br/>
<input type="radio" name="question1" value="0" id="q1a1"/><label for="q1a1">1. Белый</label>
<br/>
<input type="radio" name="question1" value="0" id="q1a2"/><label for="q1a2">2. Чёрный</label>
<br/>
<input type="radio" name="question1" value="1" id="q1a3"/><label for="q1a3">3. Красный</label>
<br/>
<input type="radio" name="question1" value="0" id="q1a4"/><label for="q1a4">4. Зелёный</label>
<br/><br/>
<strong><font color="#FF0000">2.</font> Вопрос:</strong> <font color="#0000FF">Какой формы круг? </font>
<br/>
<br/>
<input type="radio" name="question2" value="0" id="q2a1"/><label for="q2a1">1. Квадратной</label>
<br/>
<input type="radio" name="question2" value="1" id="q2a2"/><label for="q2a2">2. Круглой</label>
<br/>
<input type="radio" name="question2" value="0" id="q2a3"/><label for="q2a3">3. Треугольной</label>
<br/>
<input type="radio" name="question2" value="0" id="q2a4"/><label for="q2a4">4. Прямоугольной</label>
<br/><br/>
<strong><font color="#FF0000">3.</font> Вопрос:</strong> <font color="#0000FF">Чему равна цифра 5 ?</font>
<br/><br/>
<input type="radio" name="question3" value="0" id="q3a1"/><label for="q3a1">1. Шести</label>
<br/>
<input type="radio" name="question3" value="0" id="q3a2"/><label for="q3a2">2. Семи</label>
<br/>
<input type="radio" name="question3" value="0" id="q3a3"/><label for="q3a3">3. Двум</label>
<br/>
<input type="radio" name="question3" value="1" id="q3a4"/><label for="q3a4">4. Пяти</label>
<br/><br/>
<strong><font color="#FF0000">4.</font> Вопрос:</strong> <font color="#0000FF">Сколько в неделе дней?</font>
<br/>
<br/>
<input type="radio" name="question4" value="0" id="q4a1"/><label for="q4a1">1. 3</label>
<br/>
<input type="radio" name="question4" value="0" id="q4a2"/><label for="q4a2">2. 4</label>
<br/>
<input type="radio" name="question4" value="1" id="q4a3"/><label for="q4a3">3. 7</label>
<br/>
<input type="radio" name="question4" value="0" id="q4a4"/><label for="q4a4">4. 100</label>
<br/><br/>
<strong><font color="#FF0000">5.</font> Вопрос:</strong> <font color="#0000FF">Сколько в сутках часов?</font>
<br/>
<br/>
<input type="radio" name="question5" value="1" id="q5a1"/><label for="q5a1">1. 24</label>
<br/>
<input type="radio" name="question5" value="0" id="q5a2"/><label for="q5a2">2. 500</label>
<br/>
<input type="radio" name="question5" value="0" id="q5a3"/><label for="q5a3">3. 100500</label>
<br/>
<input type="radio" name="question5" value="0" id="q5a4"/><label for="q5a4">4. 3</label>
<br/><br/>
<input type="button" value="Отправить" onClick="processForm(this.form)"/>
<input type="reset" value="Очистить"></input>
</form>
</div>
<hr/>
<div id="results" style="display: none;">
Количество правильных ответов: <span id="score"></span>
<div id="1-" style="display: none;">
<p>Ваша оценка: 1-</p>
</div>
<div id="1-" style="display: none;">
<p>Ваша оценка: 1-</p>
</div>
<div id="1" style="display: none;">
<p>Ваша оценка: 1</p>
</div>
<div id="1+" style="display: none;">
<p>Ваша оценка: 1+</p>
</div>
<div id="2-" style="display: none;">
<p>Ваша оценка: 2-</p>
</div>
<div id="2" style="display: none;">
<p>Ваша оценка: 2</p>
</div>
<div id="2+" style="display: none;">
<p>Ваша оценка: 2+</p>
</div>
<div id="3-" style="display: none;">
<p>Ваша оценка: 3-</p>
</div>
<div id="3" style="display: none;">
<p>Ваша оценка: 3</p>
</div>
<div id="3+" style="display: none;">
<p>Ваша оценка: 3+</p>
</div>
<div id="4-" style="display: none;">
<p>Ваша оценка: 4-</p>
</div>
</div>
<hr/>
<p>Спасибо за участие в тестировании</p>
<input type="button" value="Начать заново" onClick="resetTest()"/>
</div>
<br><br>
</body>

p.s: я не совсем верно понял суть задания)) нужно же ещё и оценки подредактировать было.. скоро выложу.

Изменено пользователем Osip

Поделиться сообщением


Ссылка на сообщение

вот, то что вы просили, правда я заметил кое какой глюк, который я к сожалению не смог исправить.

Описание глюка:

Если нажимать сброс теста, после его прохождения, результат не обнуляется, и если пройти ещё раз, то правильные ответы будут складываться))

Поэтому, для обнуления нужно обновлять страницу с тестом.

<head>
<script type="text/javascript">
function showById(id, visible) {
document.getElementById(id).style.display =
visible ? 'block' : 'none'
}
function processForm(f) {
var i, s='', el
var questions = new Object()
var answers = new Object()
for (i=0; i<f.length; i++) {
el = f.elements[i]
if (el.type=='radio' && el.name.indexOf('question')==0) {
questions[el.name] = 0
if (el.checked)
answers[el.name] = parseInt(el.value)
}
}
var asked = 0, answered = 0, score = 0
for (i in questions) asked++
for (i in answers) {
answered++
score += answers[i]
}
if (answered < asked) {
alert('Вы ответили на '+answered+' вопросов из '+asked+'. Для получения достоверного результата нужно ответить на все воросы')
}
else {
showById('questionsForm', false)
el = document.getElementById('score')
el.innerHTML = (score>0) ? score : score
showById('results', true)
if (score == 0)
showById('0', true)
else if (score == 1)
showById('2m', true)
else if (score == 2)
showById('2', true)
else if (score == 3)
showById('3', true)
else if (score == 4)
showById('4', true) 
else if (score == 5)
showById('5', true)
else
showById('0', true)
}
}
function resetTest() { 
showById('results', false)
showById('questionsForm', true)
document.forms['opros'].reset()
}
</script>
</head>
<body>
<br>
<hr width="100%" size=2>
<h3 align="center">Тест Учебный</h3>
<div id="results" style="display: none;">
Количество правильных ответов: <span id="score"></span>
<div id="0" style="display: none;">
<p>Ваша оценка: 2-</p>
</div>
<div id="2m" style="display: none;">
<p>Ваша оценка: 2-</p>
</div>
<div id="2" style="display: none;">
<p>Ваша оценка: 2</p>
</div>
<div id="3" style="display: none;">
<p>Ваша оценка: 3</p>
</div>
<div id="4" style="display: none;">
<p>Ваша оценка: 4</p>
</div>
<div id="5" style="display: none;">
<p>Ваша оценка: 5</p>
</div>
<hr/>
<p>Спасибо за участие в тестировании</p>
<input type="button" value="Начать заново" onClick="resetTest()"/>
</div>
<hr width="100%" size=2>
<br>
<div id="questionsForm">
<form name="opros">
<p/>
<strong><font color="#FF0000">1.</font> Вопрос:</strong> <font color="#0000FF">Какого цвета красный цвет?</font>
<br/><br/>
<input type="radio" name="question1" value="0" id="q1a1"/><label for="q1a1">1. Белый</label>
<br/>
<input type="radio" name="question1" value="0" id="q1a2"/><label for="q1a2">2. Чёрный</label>
<br/>
<input type="radio" name="question1" value="1" id="q1a3"/><label for="q1a3">3. Красный</label>
<br/>
<input type="radio" name="question1" value="0" id="q1a4"/><label for="q1a4">4. Зелёный</label>
<br/><br/>
<strong><font color="#FF0000">2.</font> Вопрос:</strong> <font color="#0000FF">Какой формы круг? </font>
<br/>
<br/>
<input type="radio" name="question2" value="0" id="q2a1"/><label for="q2a1">1. Квадратной</label>
<br/>
<input type="radio" name="question2" value="1" id="q2a2"/><label for="q2a2">2. Круглой</label>
<br/>
<input type="radio" name="question2" value="0" id="q2a3"/><label for="q2a3">3. Треугольной</label>
<br/>
<input type="radio" name="question2" value="0" id="q2a4"/><label for="q2a4">4. Прямоугольной</label>
<br/><br/>
<strong><font color="#FF0000">3.</font> Вопрос:</strong> <font color="#0000FF">Чему равна цифра 5 ?</font>
<br/><br/>
<input type="radio" name="question3" value="0" id="q3a1"/><label for="q3a1">1. Шести</label>
<br/>
<input type="radio" name="question3" value="0" id="q3a2"/><label for="q3a2">2. Семи</label>
<br/>
<input type="radio" name="question3" value="0" id="q3a3"/><label for="q3a3">3. Двум</label>
<br/>
<input type="radio" name="question3" value="1" id="q3a4"/><label for="q3a4">4. Пяти</label>
<br/><br/>
<strong><font color="#FF0000">4.</font> Вопрос:</strong> <font color="#0000FF">Сколько в неделе дней?</font>
<br/>
<br/>
<input type="radio" name="question4" value="0" id="q4a1"/><label for="q4a1">1. 3</label>
<br/>
<input type="radio" name="question4" value="0" id="q4a2"/><label for="q4a2">2. 4</label>
<br/>
<input type="radio" name="question4" value="1" id="q4a3"/><label for="q4a3">3. 7</label>
<br/>
<input type="radio" name="question4" value="0" id="q4a4"/><label for="q4a4">4. 100</label>
<br/><br/>
<strong><font color="#FF0000">5.</font> Вопрос:</strong> <font color="#0000FF">Сколько в сутках часов?</font>
<br/>
<br/>
<input type="radio" name="question5" value="1" id="q5a1"/><label for="q5a1">1. 24</label>
<br/>
<input type="radio" name="question5" value="0" id="q5a2"/><label for="q5a2">2. 500</label>
<br/>
<input type="radio" name="question5" value="0" id="q5a3"/><label for="q5a3">3. 100500</label>
<br/>
<input type="radio" name="question5" value="0" id="q5a4"/><label for="q5a4">4. 3</label>
<br/><br/>
<input type="button" value="Отправить" onClick="processForm(this.form)"/>
<input type="reset" value="Очистить"></input>
</form>
</div>
</body>

p.s: мы можем обсудить в личке создание теста на php, если вам это конечно это интересно.

Изменено пользователем Osip

Поделиться сообщением


Ссылка на сообщение

<?php
//форма опроса
$form = '
<form method="POST">
<table border="0">
<tr>
<td>
Вопрос 1
</td>
<td>
<p>
<input type="radio" name="q1" value="1" />
Вариант 1
<br />
<input type="radio" name="q1" value="2" />
Вариант 2
<br />
<input type="radio" name="q1" value="3" />
Вариант 3
</p>
</td>
</tr>
<tr>
<td>
Вопрос 2
</td>
<td>
<p>
<input type="radio" name="q2" value="1" />
Вариант 1
<br />
<input type="radio" name="q2" value="2" />
Вариант 2
<br />
<input type="radio" name="q2" value="3" />
Вариант 3
</p>
</td>
</tr>
<tr>
<td>
Вопрос 3
</td>
<td>
<p>
<input type="radio" name="q3" value="1" />
Вариант 1
<br />
<input type="radio" name="q3" value="2" />
Вариант 2
<br />
<input type="radio" name="q3" value="3" />
Вариант 3
</p>
</td>
</tr>
<tr>
<td>
Вопрос 4
</td>
<td>
<p>
<input type="radio" name="q4" value="1" />
Вариант 1
<br />
<input type="radio" name="q4" value="2" />
Вариант 2
<br />
<input type="radio" name="q4" value="3" />
Вариант 3
</p>
</td>
</tr>
<tr>
<td>
Вопрос 5
</td>
<td>
<p>
<input type="radio" name="q5" value="1" />
Вариант 1
<br />
<input type="radio" name="q5" value="2" />
Вариант 2
<br />
<input type="radio" name="q5" value="3" />
Вариант 3
</p>
</td>
</tr>
<tr>
<td>
<p>
<input type="submit" value=" Результат " name="test_it" />
</p>
</td>
<td>
<p>
<input type="reset" value=" Очистить " />
</p>
</td>
</tr>
</table>
</form>';
//необходимые переменные
$err = FALSE;
$sum = 0;
$result = 0;
//правильные ответы (номер вопроса => номер правильного ответа)
$otvet = Array('1' => '1', 
		   '2' => '1', 
		   '3' => '3', 
		   '4' => '2', 
		   '5' => '3');

//проверка условий
if ( !isset($_POST['test_it']) ) { 
echo $form;
} else { 
for ( $i=1; $i<6; $i++ ) { 
	$a = 'q' . $i;
	if ( !isset($_POST[$a]) ) { 
		echo 'Нет ответа на вопрос ' . $i . '<br />'; //вывод ошибок
		$err = TRUE;
	} else { 
		if ( !$err ) { 
			if ( $otvet[$i] == intval($_POST[$a]) ) { 
				$sum++;
			}
		}
	}
}
if ( $sum < 2 ) { 
	$result = '2-';
} 
elseif ( $sum == 5 ) { 
	$result = $sum .'+';
} else { 
	$result = $sum;
}
if ( !$err ) { 
	echo 'Ваша оценка: ' . $result . '<br />'; //вывод оценки
	echo 'Количество правильных ответов: ' . $sum; //вывод результата
}
echo '<br /><a href="' . basename($_SERVER['SCRIPT_NAME']) . '">Начать заново</a>';			
} 

?>

Вот, по просьбе, примитивный тест, 5 вопросов, сколько угодно вариантов ответа, оценка от 2- до 5+

Изменено пользователем Osip

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×