[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: тест на php
neznaika???
помогите пожалуйста сделать код рабочим
<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

Спустя 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 "
"; } ?>

Спустя 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возможных"

Спустя 12 минут, 24 секунды (8.05.2011 - 21:46) neznaika??? написал(а):
спасибо вам большое
очень помогли))
Быстрый ответ:

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