[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать тест на php
SADD
Доброго времени суток друзья, подскажите если не в напряг как сделать мне тест на php соответственно, чтобы вопросы и радиобатоны были внутри html-формы а правильность ответов рассчитывал сам php и выводил после окончания теста результат с балами, делал это на делфи и на VB а вот с php напряг! Помогите пожалуйста, заранее благодарен!!!



Спустя 7 минут, 10 секунд (1.04.2011 - 20:26) inpost написал(а):
SADD
Прости, но это много писать на PHP & HTML.

Спустя 5 минут, 20 секунд (1.04.2011 - 20:31) SADD написал(а):
Здравствуй, а есть какой нибудь готовый, на пример а я его попробую разобрать. ИЛИ же есть без html-формы, вроде можно в php формы делать))

Спустя 1 минута, 56 секунд (1.04.2011 - 20:33) Invis1ble написал(а):
SADD
Пишешь форму, указываешь в action адрес php-обработчика, а далее обрабатываешь полученные данные

Спустя 17 минут, 31 секунда (1.04.2011 - 20:50) SADD написал(а):
Здравствуй, вот с формой как раз и нет проблем, и про методы POST и GET я прочитал. НО как подсчитать балы в php не знаю((

<?
if ($_POST['group1'] == 'YES'){$ball++}
- - -
допусти ответили на 5 вопросов из которых 3 верно
- -
if ($ball>3)
echo "Ответили на 3 вопроса"
?>


так чтоль, это исходя из ООП, которого я еще не изучал))

Спустя 2 минуты, 29 секунд (1.04.2011 - 20:53) kasichvadim написал(а):
Цитата (SADD @ 1.04.2011 - 19:50)
так чтоль, это исходя из ООП, которого я еще не изучал))

А причем тут ооп?

Спустя 2 минуты, 21 секунда (1.04.2011 - 20:55) SADD написал(а):
Ну при том что в ооп работа ведется с объектами, там же и ветвления и циклы, работа с массивами и сфайлами и много чего другого чего я начитался за неделю))
Ну так что с php, я не правильно же рассуждаю))

Спустя 2 минуты, 27 секунд (1.04.2011 - 20:58) kasichvadim написал(а):
Цитата (SADD @ 1.04.2011 - 19:55)
там же и ветвления и циклы, работа с массивами и сфайлами и много чего другого

Все это, и много чего другого есть и в процедурном подходе

В написании простого скрипта теста ООП будет лишним

Спустя 2 минуты, 43 секунды (1.04.2011 - 21:00) SADD написал(а):
Хорошо, учту.

Спустя 1 минута, 24 секунды (1.04.2011 - 21:02) SADD написал(а):
Товарищи ответе мне это:

<?
if ($_POST['group1'] == 'YES'){$ball++}
- - -
допустим ответили на 5 вопросов из которых 3 верно
- -
if ($ball>3)
echo "Ответили на 3 вопроса"
?>


верно или нет?

Спустя 2 минуты, 25 секунд (1.04.2011 - 21:04) kasichvadim написал(а):
Цитата (SADD @ 1.04.2011 - 20:02)

if ($ball>3)
echo "Ответили на 3 вопроса"
?>


верно или нет?

Нет. Это условие if ($ball>3) сработает только тогда, когда $ball будет больше 3. Т.е. минимум 4

Спустя 1 минута, 39 секунд (1.04.2011 - 21:06) T1grOK написал(а):
Цитата (kasichvadim @ 1.04.2011 - 17:58)
В написании простого скрипта теста ООП будет лишним

ООП не будет лишним. Просто каждый пишет в том стиле какой больше нравится и в общем случае процедурный подход более прост для понимания.

Спустя 3 минуты, 33 секунды (1.04.2011 - 21:09) kasichvadim написал(а):
Цитата (T1grOK @ 1.04.2011 - 20:06)
ООП не будет лишним

Я исхожу из текущих знаний ТСа.
Чтобы написать этот скрипт, ему не нужно углубляться в дебри ООП (Это будет лишним)

Спустя 2 минуты, 47 секунд (1.04.2011 - 21:12) Invis1ble написал(а):
T1grOK
Цитата
ООП не будет лишним

Ну да, можно и хелло ворлд с помощью ООП реализовать ))
Имхо - ООП абсолютно не кместу в данном случае

SADD
Покажи форму, которую ты написал, а я тебе подскажу, как быть дальше

Спустя 8 минут, 43 секунды (1.04.2011 - 21:21) SADD написал(а):

<HTML>
<head>
<title>
Тест на тему: Я и Алкоголь</title>
</head>
<body>
<table
bgcolor="#237299" width="800" border="0" align="center" cellpading="0" cellspacing="0">
<tr>
<td
style="text-align:rleft;"><img src="lt1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rt1.gif" width="30" height="30"></td>
</tr>
<tr>
<td
colspan="2">
<h1
align="center">Я И АЛКОГОЛЬ</h1>
<font
color="white">
<h3
align="center">За каждый положительный ответ начисляется 1 балл. Постарайтесь честно ответить на следующие вопросы:</h3>
</td>
</tr>
<tr>
<td
style="text-align:rleft;"><img src="lb1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rb1.gif" width="30" height="30"></td>
</tr>
</table>
<br>
<table
bgcolor="#237299" width="800" border="0" align="center" cellpading="0" cellspacing="0">
<tr>
<td
style="text-align:rleft;"><img src="lt1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rt1.gif" width="30" height="30"></td>
</tr>
<tr>
<td
colspan="2">


<form
action="http://localhost/test2.php" method="post" name="form">
<font
color="white">
<p>
1. После ссоры в семье, после выговора начальника ищете ли Вы успокоение в спиртных напитках?</p>
<p
align="center">
<input
type="radio" name="group1" size=20 value="YES" />Да
<input type="radio" name="group1" size=20 value="NO" />Нет
</p>

<p>
2. Замечаете ли Вы, что стали в последнее время пить больше?</p>
<p
align="center">
<input
type="radio" name="group2" size=20 value="YES" />Да
<input type="radio" name="group2" size=20 value="NO" />Нет
</p>

<p>
3. Случалось ли Вам, проснувшись утром после выпивки, не помнить, что было вчера?</p>
<p
align="center">
<input
type="radio" name="group3" size=20 value="YES" />Да
<input type="radio" name="group3" size=20 value="NO" />Нет
</p>

<p>
4. Когда пьете в компании, не стараетесь ли Вы незаметно выпить побольше?</p>
<p
align="center">
<input
type="radio" name="group4" size=20 value="YES" />Да
<input type="radio" name="group4" size=20 value="NO" />Нет
</p>
<input
type="submit" value="Отправить результаты теста">
</form>
</td>
</tr>
<tr>
<td
style="text-align:rleft;"><img src="lb1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rb1.gif" width="30" height="30"></td>
</tr>
</table>
</body>
</HTML>


Спустя 6 минут, 52 секунды (1.04.2011 - 21:28) Invis1ble написал(а):
SADD
Имена radio сделай массивами, так удобней будет потом обрабатывать. Примерно так:
<input type="radio" name="group[1]" size=20 value="YES" />Да
<input type="radio" name="group[1]" size=20 value="NO" />Нет

и т.д.
В обработчике потом получаешь обрабатываешь все данные в цикле:
foreach ($group as $value)
if ($value == 'YES')
$mark ++;

Спустя 6 минут, 35 секунд (1.04.2011 - 21:34) SADD написал(а):
Вот полная форма все вопросы ввел:

<HTML>
<head>
<title>
Тест на тему: Я и Алкоголь</title>
</head>
<body>
<table
bgcolor="#237299" width="800" border="0" align="center" cellpading="0" cellspacing="0">
<tr>
<td
style="text-align:rleft;"><img src="lt1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rt1.gif" width="30" height="30"></td>
</tr>
<tr>
<td
colspan="2">
<h1
align="center">Я И АЛКОГОЛЬ</h1>
<font
color="white">
<h3
align="center">За каждый положительный ответ начисляется 1 балл. Постарайтесь честно ответить на следующие вопросы:</h3>
</td>
</tr>
<tr>
<td
style="text-align:rleft;"><img src="lb1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rb1.gif" width="30" height="30"></td>
</tr>
</table>
<br>
<table
bgcolor="#237299" width="800" border="0" align="center" cellpading="0" cellspacing="0">
<tr>
<td
style="text-align:rleft;"><img src="lt1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rt1.gif" width="30" height="30"></td>
</tr>
<tr>
<td
colspan="2">


<form
action="http://localhost/test2.php" method="post" name="form">
<font
color="white">
<p>
1. После ссоры в семье, после выговора начальника ищете ли Вы успокоение в спиртных напитках?</p>
<p
align="center">
<input
type="radio" name="group1" size=20 value="YES" />Да
<input type="radio" name="group1" size=20 value="NO" />Нет
</p>

<p>
2. Замечаете ли Вы, что стали в последнее время пить больше?</p>
<p
align="center">
<input
type="radio" name="group2" size=20 value="YES" />Да
<input type="radio" name="group2" size=20 value="NO" />Нет
</p>

<p>
3. Случалось ли Вам, проснувшись утром после выпивки, не помнить, что было вчера?</p>
<p
align="center">
<input
type="radio" name="group3" size=20 value="YES" />Да
<input type="radio" name="group3" size=20 value="NO" />Нет
</p>

<p>
4. Когда пьете в компании, не стараетесь ли Вы незаметно выпить побольше?</p>
<p
align="center">
<input
type="radio" name="group4" size=20 value="YES" />Да
<input type="radio" name="group4" size=20 value="NO" />Нет
</p>

<p>
5. Случались ли в вашей жизни ситуации, когда без алкоголя Вы чувствовали себя неуверенно?</p>
<p
align="center">
<input
type="radio" name="group5" size=20 value="YES" />Да
<input type="radio" name="group5" size=20 value="NO" />Нет
</p>

<p>
6. Стремитесь ли Вы опорожнить первую рюмку быстрее, чем делали это раньше?</p>
<p
align="center">
<input
type="radio" name="group6" size=20 value="YES" />Да
<input type="radio" name="group6" size=20 value="NO" />Нет
</p>

<p>
7. Приходите ли Вы в негодование, когда близкие осуждают ваши выпивки?</p>
<p
align="center">
<input
type="radio" name="group7" size=20 value="YES" />Да
<input type="radio" name="group7" size=20 value="NO" />Нет
</p>

<p>
8. Замечаете ли Вы у себя провалы памяти?</p>
<p
align="center">
<input
type="radio" name="group8" size=20 value="YES" />Да
<input type="radio" name="group8" size=20 value="NO" />Нет
</p>

<p>
9. Всегда ли у Вас находятся причины, оправдывающие выпивку?</p>
<p
align="center">
<input
type="radio" name="group9" size=20 value="YES" />Да
<input type="radio" name="group9" size=20 value="NO" />Нет
</p>

<p>
10. Часто ли Вы жалеете о том, что сделали или сказали в пьяном виде?</p>
<p
align="center">
<input
type="radio" name="group10" size=20 value="YES" />Да
<input type="radio" name="group10" size=20 value="NO" />Нет
</p>

<p>
11. Возникает ли у Вас желание контролировать количество потребляемых спиртных напитков?</p>
<p
align="center">
<input
type="radio" name="group11" size=20 value="YES" />Да
<input type="radio" name="group11" size=20 value="NO" />Нет
</p>

<p>
12. Часто ли Вы нарушаете данное себе обещание - пить меньше или вообще бросить пить?</p>
<p
align="center">
<input
type="radio" name="group12" size=20 value="YES" />Да
<input type="radio" name="group12" size=20 value="NO" />Нет
</p>

<p>
13. Пытались ли Вы бросить пить?</p>
<p
align="center">
<input
type="radio" name="group13" size=20 value="YES" />Да
<input type="radio" name="group13" size=20 value="NO" />Нет
</p>

<p>
14. Стремитесь ли Вы к тому, чтобы ваша семья и друзья не видели Вас пьяным?</p>
<p
align="center">
<input
type="radio" name="group14" size=20 value="YES" />Да
<input type="radio" name="group14" size=20 value="NO" />Нет
</p>

<p>
15. Замечали ли Вы, что из-за активного потребления спиртного у Вас появились финансовые затруднения и проблемы на работе?</p>
<p
align="center">
<input
type="radio" name="group15" size=20 value="YES" />Да
<input type="radio" name="group15" size=20 value="NO" />Нет
</p>

<p>
16. Увеличилось ли число людей, которые, как Вам кажется, несправедливо к Вам относятся?</p>
<p
align="center">
<input
type="radio" name="group16" size=20 value="YES" />Да
<input type="radio" name="group16" size=20 value="NO" />Нет
</p>

<p>
17. Дрожат ли у Вас руки даже после небольшой выпивки?</p>
<p
align="center">
<input
type="radio" name="group17" size=20 value="YES" />Да
<input type="radio" name="group17" size=20 value="NO" />Нет
</p>

<p>
18. Бывает ли, что Ваш запой длится несколько дней?</p>
<p
align="center">
<input
type="radio" name="group18" size=20 value="YES" />Да
<input type="radio" name="group18" size=20 value="NO" />Нет
</p>

<p>
19. Чувствуете ли Вы иногда депрессию и нежелание жить?</p>
<p
align="center">
<input
type="radio" name="group19" size=20 value="YES" />Да
<input type="radio" name="group19" size=20 value="NO" />Нет
</p>

<p>
20. Бывают ли у Вас после пьянки слуховые и зрительные галлюцинации?</p>
<p
align="center">
<input
type="radio" name="group20" size=20 value="YES" />Да
<input type="radio" name="group20" size=20 value="NO" />Нет
</p>
<p
align="center">
<input
type="button" value="Завершить тест" onClick="proverka(event, this.form)">
</p>
</form>
</td>
</tr>
<tr>
<td
style="text-align:rleft;"><img src="lb1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rb1.gif" width="30" height="30"></td>
</tr>
</table>
<script
type="text/javascript">
function
proverka(event, form) {
if ((form.group1[0].checked || form.group1[1].checked)
&& (
form.group2[0].checked || form.group2[1].checked)
&& (
form.group3[0].checked || form.group3[1].checked)
&& (
form.group4[0].checked || form.group4[1].checked)) {
form.submit();
} else {
alert('Необходимо ответить на все вопросы!')
}
}

</script>
</body>
</HTML>


Спустя 4 минуты, 31 секунда (1.04.2011 - 21:39) SADD написал(а):
ок, а как мне еще сделать следую из этого задания:
1-7: ранняя стадия, которая длится обычно 10-15 лет. 8-17: средняя стадия, длится обычно 2-5 лет. 18-20: последняя стадия алкоголизма. ))
Это тоже ветвление нужно применить?

Спустя 4 минуты, 12 секунд (1.04.2011 - 21:43) SADD написал(а):
Вот так да?

<HTML>
<head>
<title>
Тест на тему: Я и Алкоголь</title>
</head>
<body>
<table
bgcolor="#237299" width="800" border="0" align="center" cellpading="0" cellspacing="0">
<tr>
<td
style="text-align:rleft;"><img src="lt1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rt1.gif" width="30" height="30"></td>
</tr>
<tr>
<td
colspan="2">
<h1
align="center">Я И АЛКОГОЛЬ</h1>
<font
color="white">
<h3
align="center">За каждый положительный ответ начисляется 1 балл. Постарайтесь честно ответить на следующие вопросы:</h3>
</td>
</tr>
<tr>
<td
style="text-align:rleft;"><img src="lb1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rb1.gif" width="30" height="30"></td>
</tr>
</table>
<br>
<table
bgcolor="#237299" width="800" border="0" align="center" cellpading="0" cellspacing="0">
<tr>
<td
style="text-align:rleft;"><img src="lt1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rt1.gif" width="30" height="30"></td>
</tr>
<tr>
<td
colspan="2">


<form
action="http://localhost/test2.php" method="post" name="form">
<font
color="white">
<p>
1. После ссоры в семье, после выговора начальника ищете ли Вы успокоение в спиртных напитках?</p>
<p
align="center">
<input
type="radio" name="group[1]" size=20 value="YES" />Да
<input type="radio" name="group[1]" size=20 value="NO" />Нет
</p>

<p>
2. Замечаете ли Вы, что стали в последнее время пить больше?</p>
<p
align="center">
<input
type="radio" name="group[2]" size=20 value="YES" />Да
<input type="radio" name="group[2]" size=20 value="NO" />Нет
</p>

<p>
3. Случалось ли Вам, проснувшись утром после выпивки, не помнить, что было вчера?</p>
<p
align="center">
<input
type="radio" name="group[3]" size=20 value="YES" />Да
<input type="radio" name="group[3]" size=20 value="NO" />Нет
</p>

<p>
4. Когда пьете в компании, не стараетесь ли Вы незаметно выпить побольше?</p>
<p
align="center">
<input
type="radio" name="group[4]" size=20 value="YES" />Да
<input type="radio" name="group[4]" size=20 value="NO" />Нет
</p>

<p>
5. Случались ли в вашей жизни ситуации, когда без алкоголя Вы чувствовали себя неуверенно?</p>
<p
align="center">
<input
type="radio" name="group[5]" size=20 value="YES" />Да
<input type="radio" name="group[5]" size=20 value="NO" />Нет
</p>

<p>
6. Стремитесь ли Вы опорожнить первую рюмку быстрее, чем делали это раньше?</p>
<p
align="center">
<input
type="radio" name="group[6]" size=20 value="YES" />Да
<input type="radio" name="group[6]" size=20 value="NO" />Нет
</p>

<p>
7. Приходите ли Вы в негодование, когда близкие осуждают ваши выпивки?</p>
<p
align="center">
<input
type="radio" name="group[7]" size=20 value="YES" />Да
<input type="radio" name="group[7]" size=20 value="NO" />Нет
</p>

<p>
8. Замечаете ли Вы у себя провалы памяти?</p>
<p
align="center">
<input
type="radio" name="group[8]" size=20 value="YES" />Да
<input type="radio" name="group[8]" size=20 value="NO" />Нет
</p>

<p>
9. Всегда ли у Вас находятся причины, оправдывающие выпивку?</p>
<p
align="center">
<input
type="radio" name="group[9]" size=20 value="YES" />Да
<input type="radio" name="group[9]" size=20 value="NO" />Нет
</p>

<p>
10. Часто ли Вы жалеете о том, что сделали или сказали в пьяном виде?</p>
<p
align="center">
<input
type="radio" name="group[10]" size=20 value="YES" />Да
<input type="radio" name="group[10]" size=20 value="NO" />Нет
</p>

<p>
11. Возникает ли у Вас желание контролировать количество потребляемых спиртных напитков?</p>
<p
align="center">
<input
type="radio" name="group[11]" size=20 value="YES" />Да
<input type="radio" name="group[11]" size=20 value="NO" />Нет
</p>

<p>
12. Часто ли Вы нарушаете данное себе обещание - пить меньше или вообще бросить пить?</p>
<p
align="center">
<input
type="radio" name="group[12]" size=20 value="YES" />Да
<input type="radio" name="group[12]" size=20 value="NO" />Нет
</p>

<p>
13. Пытались ли Вы бросить пить?</p>
<p
align="center">
<input
type="radio" name="group[13]" size=20 value="YES" />Да
<input type="radio" name="group[13]" size=20 value="NO" />Нет
</p>

<p>
14. Стремитесь ли Вы к тому, чтобы ваша семья и друзья не видели Вас пьяным?</p>
<p
align="center">
<input
type="radio" name="group[14]" size=20 value="YES" />Да
<input type="radio" name="group[14]" size=20 value="NO" />Нет
</p>

<p>
15. Замечали ли Вы, что из-за активного потребления спиртного у Вас появились финансовые затруднения и проблемы на работе?</p>
<p
align="center">
<input
type="radio" name="group[15]" size=20 value="YES" />Да
<input type="radio" name="group[15]" size=20 value="NO" />Нет
</p>

<p>
16. Увеличилось ли число людей, которые, как Вам кажется, несправедливо к Вам относятся?</p>
<p
align="center">
<input
type="radio" name="group[16]" size=20 value="YES" />Да
<input type="radio" name="group[16]" size=20 value="NO" />Нет
</p>

<p>
17. Дрожат ли у Вас руки даже после небольшой выпивки?</p>
<p
align="center">
<input
type="radio" name="group[17]" size=20 value="YES" />Да
<input type="radio" name="group[17]" size=20 value="NO" />Нет
</p>

<p>
18. Бывает ли, что Ваш запой длится несколько дней?</p>
<p
align="center">
<input
type="radio" name="group[18]" size=20 value="YES" />Да
<input type="radio" name="group[18]" size=20 value="NO" />Нет
</p>

<p>
19. Чувствуете ли Вы иногда депрессию и нежелание жить?</p>
<p
align="center">
<input
type="radio" name="group[19]" size=20 value="YES" />Да
<input type="radio" name="group[19]" size=20 value="NO" />Нет
</p>

<p>
20. Бывают ли у Вас после пьянки слуховые и зрительные галлюцинации?</p>
<p
align="center">
<input
type="radio" name="group[20]" size=20 value="YES" />Да
<input type="radio" name="group[20]" size=20 value="NO" />Нет
</p>
<p
align="center">
<input
type="button" value="Завершить тест" onClick="proverka(event, this.form)">
</p>
</form>
</td>
</tr>
<tr>
<td
style="text-align:rleft;"><img src="lb1.gif" width="30" height="30"></td>
<td
style="text-align:right;"><img src="rb1.gif" width="30" height="30"></td>
</tr>
</table>
<script
type="text/javascript">
function
proverka(event, form) {
if ((form.group1[0].checked || form.group1[1].checked)
&& (
form.group2[0].checked || form.group2[1].checked)
&& (
form.group3[0].checked || form.group3[1].checked)
&& (
form.group4[0].checked || form.group4[1].checked)) {
form.submit();
} else {
alert('Необходимо ответить на все вопросы!')
}
}

</script>
</body>
</HTML>


Спустя 10 минут, 36 секунд (1.04.2011 - 21:54) SADD написал(а):
А как же мне узнать из массива, если пользователь ответил да от 1-7 раз то echo "вы тото тото" если 8-17 то echo "то тото тотото "

КАК сделать?
Спасибо заранее!!

Спустя 5 минут, 4 секунды (1.04.2011 - 21:59) Invis1ble написал(а):
foreach ($array as $key => $value)

$key - ключ массива, соответственно номер вопроса

Спустя 7 минут, 50 секунд (1.04.2011 - 22:07) SADD написал(а):
а как это целиком выглядеть будет, у меня же 3 условия, 1-7, 8-17, 18-20 ответов да?
Напиши пожалуйста, а то я 4 часа уже сежу а результат по php ни какого(, грех жаловаться, но я первый день его осваиваю)

Спустя 12 минут, 14 секунд (1.04.2011 - 22:19) Invis1ble написал(а):
if ($key > 1 && $key < 7)
{
// code
}
elseif ($key > 8 && $key < 17)
{
// code
}

и т.д.

Спустя 4 минуты, 56 секунд (1.04.2011 - 22:24) SADD написал(а):
Значит целиком вот так будет?

<?
foreach ($group as $value)
if ($value == 'YES')
$mark ++;
foreach ($array as $key => $value)
if ($key > 1 && $key < 7)
{
// code
}
elseif ($key > 8 && $key < 17)
{
// code
}
?>

Спустя 6 минут, 27 секунд (1.04.2011 - 22:30) Invis1ble написал(а):
Нет, попробуй разобраться с тем, что я тебе дал, по-порядку... А если не поймешь, то читай литературу, это основы, разжевывать их у меня нет желания и времени - литературы хватает на эту тему.
Прочти про массивы, условия, циклы.

Спустя 43 секунды (1.04.2011 - 22:31) SADD написал(а):
Ок, спасибо большое, очень помог!!!

Спустя 4 часа, 33 минуты, 50 секунд (2.04.2011 - 03:05) Kesano написал(а):
Не буду писать код, ибо лень, а поняв алгоритм, можно самому написать... Это не сложно.

Создаём базу MySQL (или в файле... MySQL нагляднее и удобнее).
Создаем таблицу tests (tid, tname, description)
Создаем таблицу questions (qid,tid,question,yes_val,no_val)

в tests создаем тест (по сути, группу вопросов): tid - уникальный id, tname - название теста, description - расшифровка теста, сколько баллов что значит.
в questions забиваем вопросы qid - уникальный id, tid - id теста, к которому относится вопрос, question - сам вопрос, yes_val - коль-во баллов при ответе ДА, no_val - коль-во баллов за ответ НЕТ...

И всё... при загрузке теста /tests.php?tid=4 вы вынимаете вопросы из базы и выводите из на страницу SELECT * from questions where tid='$tid'
а выводите так (взял ваш код):

<p> {$question} </p>
<p
align="center">
<input
type="radio" name="answer[{$qid}]" size=20 value="1" />Да
<input type="radio" name="answer[{$qid}]" size=20 value="0" />Нет
</p>


После нажатия кнопки обрабатываете полученное:

if($_POST) {
$total_count=0;
$answered=0;
$questions_arr[]// сюда заново вынимаем вопросы в массив

foreach ($answer as $key => $val) {
if(array_key_exists($key,$questions_arr)) {
$total_count+= ($val==0) ? $questions_arr[$key]["no_val"] : $questions_arr[$key]["yes_val"];
$answered++;
}
}


echo "Вы набрали $total_count баллов ответив на $answered вопросов!";
}

Большинство вещей в коде опущены (чтобы автор напряг мозжечок и додумал сам, как ему вынимать и выводить), но алгоритм такой. при чем простой.

Спустя 4 часа, 49 минут, 39 секунд (2.04.2011 - 07:54) pak написал(а):
это типо cms http://zircool.ru/archives/398 но она не очень, но там есть основное.
еще http://igivetest.com/rus/ в инети можно найти и скачать, он более функциональный.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.