我正在構建在線測驗,但在計算正確值的數量時遇到了問題。每個問題有以下HTML:將輸入值與表單字段值相匹配
<div class="form-group">
<label for="question <?PHP echo $question['id']; ?>"><?PHP echo $question['question']; ?></label>
<input type="hidden" value="<?PHP echo $question['answer']; ?>" name="original_number[]">
<input type="number" class="form-control" name="input_number[]" placeholder="<?PHP echo $question['question']; ?>" required>
</div>
有一個隱藏的輸入,其中包含實際的正確答案。我想我可以逃避這個問題,因爲這個測驗是針對小學生的數學測驗。問題和答案都存儲在數據庫中,所以我的代碼遍歷每個問題併爲每個問題輸出上述HTML。
當談到實際提交表單,然後檢查每個輸入與正確的答案,我迄今試過的所有東西似乎並沒有工作,我試過foreach
循環每個問題,但不似乎工作。
理想情況下,每個正確的答案需要爲變量添加+1。如果表單提交後該變量與問題總數相匹配,則測試被標記爲完成(我已經爲此編寫了代碼)。
這裏有幾件事情我已經試過:
foreach ($original as $key => $value) { echo '<p>'.$key.'</p>'; foreach($value as $k => $v) { echo '<p>'.$k.'</p>'; echo '<p>'.$v.'</p>'; echo '<hr />'; }
^只是輸出數字0-12
foreach ($_POST as $key => $value) { echo '<p>'.$key.'</p>'; foreach($value as $k => $v) { echo '<p>'.$k.'</p>'; echo '<p>'.$v.'</p>'; echo '<hr />'; }
此輸出2所列出的清單。第一個列表是0-12,然後是original_number的值。第二個列表也是0-12,並輸出input_number的值。
你可以發佈沒有用的代碼嗎?你試過類似'if($ correct_answer == $ user_answer){...}'嗎? – sauerburger
發表了我試過的代碼沒有工作。除了第一行的$ _POST位之外,它幾乎完全相同。 – Jayp