2014-02-08 46 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