我已经构建了一个使用随机数和操作(+, - ,*,/)的简单计算器。用户可以为每个问题填写表格,并评估他们的输入。然而,我不想仅针对单个问题显示“那是对的”或“那是错的”,而是希望在更多问题(例如50)上显示他们输入的准确性/失败。因此,我正在寻找一个数字计数器,一个可能只包含一个简单的数字,每当用户给出正确的答案(可能是绿色)时计数,而第二个(红色)计数在用户给出错误时计数回答。这两个数字应该不断显示。 50次后,它会显示正确答案的百分比。
我可以用会话吗?如果是这样,怎么样?现在,每次点击提交按钮时页面都会刷新。由于我还不是专家(你),因此你可以获得更好的特性。谢谢你的帮助!!请在下面找到我的代码:
<div style="text-align: center; font-weight: bold; font-size: x-large">
<?php
$number1 = rand(1,100);
$number2 = rand(1,100);
$number3 = rand(1,20);
$number4 = rand(1,20);
switch(rand(0,3)) {
case 0:
$solution = $number1 + $number2;
echo "$number1+$number2=?";
break;
case 1:
$solution = $number1 - $number2;
echo "$number1-$number2=?";
break;
case 2:
$solution = $number3 * $number4;
echo "$number3*$number4=?";
break;
case 3:
$solution = $number3 / $number4;
echo "$number3/$number4=?";
break;
}
?>
<form action="form10.php" method="post">
Your Answer:<br>
<input type="integer" name="answer">
<input type="hidden" name="solution" value="<?php echo $solution; ?>">
<input type="Submit" value="Submit!">
</form>
<?php
if(isset($_POST['answer']) && isset($_POST['solution'])) {
if ($_POST["answer"] == round($_POST['solution'],1)) {
echo "<font color='#008000'> That's right! </font>";;
} else {
echo "That's wrong!";
}
}
?>
</div>
答案 0 :(得分:0)
看起来你只需要一个$ counter值来坚持......
<input type="hidden" name="counter" value="<?php echo $counter; ?>">
然后增加......
if( isset($_POST['counter']) )
$counter= $_POST['counter'] + 1;
示例'test.php'=继续点击提交按钮...
<?php
$counter=0;
if( isset($_POST['counter']) )
$counter= $_POST['counter'] + 1;
?>
<form action="test.php" method="post">
Your Answer:<br>
<input type="integer" name="answer">
<input type="hidden" name="counter" value="<?php echo $counter; ?>">
<input type="Submit" value="Submit!">
<br>
Counter = <?php echo $counter; ?>
</form>