2014-02-08 47 views
0

我已经构建了一个使用随机数和操作(+, - ,*,/)的简单计算器。用户可以填写每个问题的表格,并对他们的输入进行评估。然而,我不想仅仅为单个问题显示“这是正确的”或“这是错误的”,而是希望通过更多的问题(例如50)来显示他们输入的准确性/失败。因此,我正在寻找一个数字计数器,它可能只是一个简单的数字,每当用户给出正确的答案(可能是绿色)时计数,另一个计数器(红色)在用户给出错误时计数回答。这两个数字应该不断显示。 50次后,它会显示正确答案的百分比。用户输入评估的错误/正确的计数器PHP

我可以在会话中做到这一点吗?如果是这样,怎么样?现在,每当点击提交按钮时,页面都会刷新。因为我不是专家(还),所以你可以做得更好。谢谢你的帮助!!请在下面FINDE我的代码:

<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

看起来像你只需要一个$计数器值持续下去......

<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> 
+0

谢谢为您的建议!但是,由于每次用户点击“提交”时都会重新加载页面,因此计数器仍然不计数。柜台保持一个。 – user3261573

+0

另外,我有两个计数器这样计数的问题:一个计数器为每个正确的答案而上升,另一个计数器为每个错误的答案上升。真的很感谢你的支持! – user3261573

+0

您的PHP处理POST参数必须在引用$ counter变量的javascript之前*。 – TonyWilk