<HTML>
<HEAD>
<Title>Тест</Title>
</HEAD>
<Body bgcolor=#FFFFFF text=#000000 link=#FF0000>
<hr size=5 width=100% color="black"></br>
<center><b>Тест на знание тригонометрических функций</b>
</br></br>
<?php
$q=array("sin(30)",
"sin(60)",
"sin(90)",
"sin(180)",
"sin(270)",
"cos(30)",
"cos(45)",
"cos(60)",
"cos(90)",
"cos(180)",
"cos(360)",
"tg(30)",
"tg(45)",
"tg(60)",
"tg(90)",
"tg(180)",
"ctg(30)",
"ctg(60)",
"ctg(90)",
"ctg(180)");
$a=array("0", "1/2", "корень(3)/2"),
array("1/2", "корень(3)/2", "1/корень(2)"),
array("1", "не существует", "0"),
array("не существует", "0", "1/2"),
array("-1", "0", "не существует"),
array("корень(3)/2", "0", "1/2"),
array("1/2", "1/корень(2)", "1"),
array("корень(3)/2", "1/2", "-1"),
array("1", "1/2", "0"),
array("-1", "0", "1"),
array("-1", "0", "1"),
array("1/корень(2)", "1/корень(3)", "корень(3)"),
array("1", "0", "1/2"),
array("1/корень(3)", "корень(3)", "корень(2)/2"),
array("0", "не существует", "1"),
array("-1", "0", "не существует"),
array("1/корень(2)", "1/корень(3)", "корень(3)"),
array("корень(2)/2", "1/корень(3)", "корень(3)"),
array("1", "0", "не существует"),
array("0", "не существует", "-1");
$r=array(2, 2, 1, 2, 1, 1, 2, 2, 3, 1, 3, 2, 1, 2, 2, 2, 3, 2, 2, 2);
$result=$_POST["res"]?$_POST["res"]:0;
$step=$_POST["step"]?$_POST["step"]:0;
$answ=$_POST["answ"];
if ($answ)
{
if ($answ==$r[$step])
$result++;
$step++;
}
if ($step==count($q))
{
echo "Вы дали"<b>.$result.</b>"правильных ответов из"<b>.count($q).</b>"возможных";
}
else
{
echo <form method='POST' action='test.php'>;
echo "Функция".$q[$step]."?";
for ($i=0; $i<4; $i++)<br/>
echo "<label><input type='radio' name='answ' value='".($i+1)."'/>".$a[$i][$step]."</label>";
echo "<input type='hidden' name='res' value='".($result? $result:0)."'/>";
echo "<input type='hidden' name='step' value='".($step? $step:0)."'/>";
echo "<br/><input type='submit'/></form>";
}
?>
</Body>
</HTML>
оно выдает вот такое:
Тест на знание тригонометрических функций
.$result."правильных ответов из".count($q)."возможных"; } else { echo
; echo "Функция".$q[$step]."?"; for ($i=0; $i<4; $i++)
echo "".$a[$i][$step].""; echo ""; echo ""; echo "
"; } ?>
заранее благодарю
Спустя 10 минут, 3 секунды (8.05.2011 - 19:21) quickxyan написал(а):
echo "Вы дали<b>".$result."</b>правильных ответов из<b>".count($q)."</b>возможных";
Спустя 1 минута, 46 секунд (8.05.2011 - 19:23) quickxyan написал(а):
Вот как-то так. не уверен, что все ошибки нашел)
if ($step==count($q))
{
echo "Вы дали<b>".$result."</b>правильных ответов из<b>".count($q)."</b>возможных";
}
else
{
echo "<form method='POST' action='test.php'>";
echo "Функция".$q[$step]."?";
for ($i=0; $i<4; $i++){
echo "
<br/><label><input type='radio' name='answ' value='".($i+1)."'/>".$a[$i][$step]."</label>";
echo "<input type='hidden' name='res' value='".($result? $result:0)."'/>";
echo "<input type='hidden' name='step' value='".($step? $step:0)."'/>";
echo "<br/><input type='submit'/></form>";
}
Спустя 1 минута, 51 секунда (8.05.2011 - 19:25) Игорь_Vasinsky написал(а):
quickxyan
а что и такой сокращённый тернарный операто сразу можно испльзовать? я просто е пробовал
а что и такой сокращённый тернарный операто сразу можно испльзовать? я просто е пробовал
![laugh.gif](http://phpforum.ru/html/emoticons/laugh.gif)
Спустя 2 минуты, 32 секунды (8.05.2011 - 19:27) quickxyan написал(а):
Игорь_Vasinsky
ты про эту строчку?
сначала подумал, что тернарный оператор, а потом подумал, что это просто вывод вопроса.
пусть автор напишет вопрос это или тернарник)
ты про эту строчку?
echo "Функция".$q[$step]."?";
сначала подумал, что тернарный оператор, а потом подумал, что это просто вывод вопроса.
пусть автор напишет вопрос это или тернарник)
Спустя 34 минуты, 2 секунды (8.05.2011 - 20:01) neznaika??? написал(а):
это вопрос
Спустя 3 минуты, 53 секунды (8.05.2011 - 20:05) neznaika??? написал(а):
спасибо
я заменила этот кусок текста, но все равно на выходе:
".$result."правильных ответов из".count($q)."возможных"; } else { echo "
"; echo "Функция".$q[$step]."?"; for ($i=0; $i<4; $i++){ echo "
".$a[$i][$step].""; echo ""; echo ""; echo "
"; } ?>
я заменила этот кусок текста, но все равно на выходе:
".$result."правильных ответов из".count($q)."возможных"; } else { echo "
"; echo "Функция".$q[$step]."?"; for ($i=0; $i<4; $i++){ echo "
".$a[$i][$step].""; echo ""; echo ""; echo "
"; } ?>
Спустя 25 минут, 13 секунд (8.05.2011 - 20:30) quickxyan написал(а):
наверное фигурная скобка потеряна. попробуй так
if ($step==count($q))
{
echo "Вы дали<b>".$result."</b>правильных ответов из<b>".count($q)."</b>возможных";
}
else
{
echo "<form method='POST' action='test.php'>";
echo "Функция".$q[$step]."?";
for ($i=0; $i<4; $i++){
echo "
<br/><label><input type='radio' name='answ' value='".($i+1)."'/>".$a['$i']['$step']."</label>";
echo "<input type='hidden' name='res' value='".($result? $result:0)."'/>";
echo "<input type='hidden' name='step' value='".($step? $step:0)."'/>";
echo "<br/><input type='submit'/></form>";
}
}
Спустя 10 минут, 58 секунд (8.05.2011 - 20:41) neznaika??? написал(а):
а оно может скобочку > возле b воспринимать как закрытие php кода (?>) ??
Спустя 48 минут, 42 секунды (8.05.2011 - 21:30) quickxyan написал(а):
у меня работает - правда только первых 4 вопроса)
вот код
вот код
<HTML>
<HEAD>
<Title>Тест</Title>
</HEAD>
<Body bgcolor=#FFFFFF text=#000000 link=#FF0000>
<hr size=5 width=100% color="black"></br>
<center><b>Тест на знание тригонометрических функций</b>
</br></br>
<?php
$q=array(
"sin(30)",
"sin(60)",
"sin(90)",
"sin(180)",
"sin(270)",
"cos(30)",
"cos(45)",
"cos(60)",
"cos(90)",
"cos(180)",
"cos(360)",
"tg(30)",
"tg(45)",
"tg(60)",
"tg(90)",
"tg(180)",
"ctg(30)",
"ctg(60)",
"ctg(90)",
"ctg(180)");
$a=array(
array("0", "1/2", "корень(3)/2"),
array("1/2", "корень(3)/2", "1/корень(2)"),
array("1", "не существует", "0"),
array("не существует", "0", "1/2"),
array("-1", "0", "не существует"),
array("корень(3)/2", "0", "1/2"),
array("1/2", "1/корень(2)", "1"),
array("корень(3)/2", "1/2", "-1"),
array("1", "1/2", "0"),
array("-1", "0", "1"),
array("-1", "0", "1"),
array("1/корень(2)", "1/корень(3)", "корень(3)"),
array("1", "0", "1/2"),
array("1/корень(3)", "корень(3)", "корень(2)/2"),
array("0", "не существует", "1"),
array("-1", "0", "не существует"),
array("1/корень(2)", "1/корень(3)", "корень(3)"),
array("корень(2)/2", "1/корень(3)", "корень(3)"),
array("1", "0", "не существует"),
array("0", "не существует", "-1"));
$r=array(2, 2, 1, 2, 1, 1, 2, 2, 3, 1, 3, 2, 1, 2, 2, 2, 3, 2, 2, 2);
$result=$_POST["res"]?$_POST["res"]:0;
$step=$_POST["step"]?$_POST["step"]:0;
$answ=$_POST["answ"];
if ($answ)
{
if ($answ==$r[$step])
$result++;
$step++;
}
if ($step==count($q))
echo "Вы дали<b>".$result."</b>правильных ответов из<b>".count($q)."</b>возможных";
else
{
echo "<form method='POST' action='test1.php'>";
echo "Функция".$q[$step]."?";
for ($i=0; $i<4; $i++)
echo "<br><label><input type='radio' name='answ' value='".($i+1)."'/>".$a[$i][$step]."</label>";
echo "<input type='hidden' name='res' value='".($result? $result:0)."'/>";
echo "<input type='hidden' name='step' value='".($step? $step:0)."'/>";
echo "<br/><input type='submit'/></form>";
}
?>
</Body>
</HTML>
Спустя 3 минуты, 2 секунды (8.05.2011 - 21:33) quickxyan написал(а):
хотя нет - работает правильно наверное, просто после первых четырех ответов перестают появлятся подписи радиобутонов. вобщем немного вам поработать и норм будет тест. правда неинтересно, что как-то по порядку все идет синус 0,30, 60..... надо рандом какой-то)
мой результат - "Тест на знание тригонометрических функций
Вы дали5правильных ответов из20возможных"
мой результат - "Тест на знание тригонометрических функций
Вы дали5правильных ответов из20возможных"
Спустя 12 минут, 24 секунды (8.05.2011 - 21:46) neznaika??? написал(а):
спасибо вам большое
очень помогли))
очень помогли))