0
我有一個數據庫,這個結構我有4個問題。我的工作是顯示2個隨機問題及其選項,當用戶點擊提交時,應該檢查correct_ans
並顯示結果。動態測驗應用程序答案PHP中的驗證問題
Qid | Question | A | B | C | D | Correct_ans
1 | Question | | | | |Correct Ans
2 | Question | | | | |Correct Ans
3 | Question | | | | |Correct Ans
4 | Question | | | | |Correct Ans
這裏是我的代碼
<?php
if(isset($_POST['test'])){
$x = $_POST["$id"];
echo $x;
}
?>
<html>
<head>
</head>
<body>
<?php
include("db-con.php");
$sql1 = "SELECT * from questions ORDER BY RAND() LIMIT 2";
$result1 = mysql_query($sql1,$con);
echo"<form method='post' action=''>";
while($row1 = mysql_fetch_assoc($result1))
{
$id = 'q' . $row1['quesid'];
$question = $row1['question'];
$solution = $row1['solution'];
$ans_array = array($row1['A'],$row1['X'],$row1['Y'],$row1['Z']);
$test = shuffle($ans_array);
// Generate Questions and Display Options
echo $question . '<br />';
echo "<input type='radio' value='$ans_array[0]' name=\"$id\" />" . $ans_array[0]. '<br />';
echo "<input type='radio' value='$ans_array[1]' name=\"$id\" />" . $ans_array[1] . '<br />';
echo "<input type='radio' value='$ans_array[2]' name=\"$id\" />" . $ans_array[2] . '<br />';
echo "<input type='radio' value='$ans_array[3]' name=\"$id\" />" . $ans_array[3] . '<br />';
}
echo"<input type='submit' name='test' Value='Submit' />";
echo"</form>";
?>
</body>
</html>
我的問題是
當我點擊提交我不能夠得到這個問題的id和無法從數據庫中查詢。當我試圖訪問$id
來檢查所選答案時,我總是收到索引錯誤。
如果我理解正確$id
不是一個全局變量,這就是爲什麼我沒有得到它後,我提交表單。我試圖把$id
作爲全球的,但同樣的錯誤。
任何人都可以幫助我找到解決方案。
感謝&問候 貨車
,您提供的不工作,而不是代碼,不工作的代碼,這是代碼隱藏字段您遇到問題了,哪些是您需要我們幫助您解決的代碼?對你來說沒有什麼奇怪的?也許看到一個輕微的問題? – Sherif
我想要在提交後如何捕捉值以及如何檢查結果。我不確定我應該怎麼走 –
那麼,您給每個'input'字段的'name'屬性都會出現在'$ _POST'中。你把'$ id'放在那裏,這可能不是你想要做的。相反,把'$ id'作爲一個隱藏的輸入(比如''而不是你的答案輸入名稱'name =「answer」'然後你抓住'$ _POST ['answer']'和'$ _POST ['id']'的值分別爲 – Sherif