Php 我可以在没有表单的情况下显示用户选择吗?

Php 我可以在没有表单的情况下显示用户选择吗?,php,jquery,Php,Jquery,除了使用表单记录用户所做的选择,还有PHP或jQuery替代方案吗 让我给你一些背景资料 我想为我的网站创建一些测试和测验,结合PHP、JQuery、Bootstrap等。我是一名中级PHP程序员,最近刚刚开始学习JQuery和Bootstrap,所以我还不太了解全局 无论如何,我找到了一个简单的基于PHP的测验教程,然后对它进行了修改,使问题和答案存储在数据库表中。我还添加了一个jQuery函数——可以切换的样式——尽管它有一些bug。最后,我想以某种方式修改它,以便它存储数据——例如,用户可

除了使用表单记录用户所做的选择,还有PHP或jQuery替代方案吗

让我给你一些背景资料

我想为我的网站创建一些测试和测验,结合PHP、JQuery、Bootstrap等。我是一名中级PHP程序员,最近刚刚开始学习JQuery和Bootstrap,所以我还不太了解全局

无论如何,我找到了一个简单的基于PHP的测验教程,然后对它进行了修改,使问题和答案存储在数据库表中。我还添加了一个jQuery函数——可以切换的样式——尽管它有一些bug。最后,我想以某种方式修改它,以便它存储数据——例如,用户可以找到他们以前的分数

我修改了代码,这样当用户单击submit按钮时,用户就不会转到新页面,而是停留在同一页面上。用户可以选择一系列答案,当用户单击submit按钮时,CSS用于突出显示正确和错误的答案。问题是,当您刷新页面时,会收到一条确认表单重新提交消息

另一个问题是,我可以用一个输入函数提交用户的答案,或者用一个按钮切换两种样式。我需要弄清楚如何使用一个或另一个实现这两个功能当用户单击Submit时,页面会显示新的样式以及用户的分数

因此,在我开始研究这些问题和其他一些问题之前,我想确定我的方向是正确的。我应该着手解决这些问题,还是干脆放弃表单,用PHP或jQuery替代它?如果有这样一个替代方案,它叫什么,这样我就可以研究它了

我一直在阅读一些jQuery函数,但我还没有找到灵丹妙药

我在下面贴了我的代码,所以你可以知道我在哪里

<form action="" method="post" id="quiz">

$stmt = $pdo->prepare("SELECT Q.QID, Q.URL, Q.Value, Q.Question, Q.Answer, Q.Correct
FROM 1_quiz Q
ORDER BY Q.N
");
 $stmt->execute(array(
 'MyURL'=>$MyURL
));

$Q1 = null;

echo '<div class=\"OuterWrapper\">';

while ($row = $stmt->fetch()) {
 $QID = $row['QID'];
 $URL = $row['URL'];
 $Value = $row['Value'];
 $Question = $row['Question'];
 $Answer = $row['Answer'];
 $Correct = $row['Correct'];
 $Correct = str_replace('1', 'correct', $Correct);
 $Correct = str_replace('2', 'wrong', $Correct);

$Q2 = '
<div class="Question"><b>'.$Question.'</b></div>';

if ($row["Question"] != $Q1) {
$Q1 = $row["Question"];
echo "</div>
<div class=\"OuterWrapper\">{$Q2}\n";
}

echo '  <div class="Answer '.$Correct.'"><input type="radio" name="'.$QID.'" id="quiz"  value="'.$Value.'" /> '.$Answer.'</div>' . "\n";
}
echo '</div>
';

<script>
$(document).ready(function(){
$("input#quiz").click(function(){
$(".Answer").toggleClass("Submit");
});
});
</script>

<input type="submit" value="Submit Quiz" id="quiz" style="">
</form>
<button type="submit" value="Submit Quiz" id="quiz" style="">Button</button>
        $answer1 = $_POST['1'];
        $answer2 = $_POST['2'];
        $answer3 = $_POST['3'];

        $totalCorrect = 0;

        if ($answer1 == "A") { $totalCorrect++; }
        if ($answer2 == "C") { $totalCorrect++; }
        if ($answer3 == "C") { $totalCorrect++; }

        echo "<div id='results'>$totalCorrect / 3 correct</div>";

是的,通过超链接使用URL查询字符串传递参数。当javascript被停用时,可以使用AJAX将数据发送到服务器,而不是主要使用表单。这可能是学习AJAX的好借口;我认为AJAX的建议也与SEMSEM的建议类似,对吧?我认为你对表单没有问题,而是页面重新加载会丢失css更改-所以使用AJAX就像Charlotte Dunois和David Blomstrom说的那样-你将提交日期并保留css样式changes@DavidBlomstrom是的,在学习AJAX之前,请尝试使用普通超链接。让你的测验看起来像一个有几个连续页面的向导。