我正在尝试使用PHP创建一个简单的数学测验。这意味着为用户生成两个随机数以便相乘。如果用户输入正确答案,则表示将其重定向到祝贺html页面(使用标题)。但是,如果他们得到错误,那么问题就是要改为说明这样的信息,并给他们另一个回答它的机会。
到目前为止,我已经完成了所有工作,除了一件事,在每次错误提交后都会保留问题和答案。我怎么能阻止这种情况发生?如何阻止脚本每次生成新的问题/答案?我使用了隐藏的文本字段,但它们似乎没有做到这一点。
答案 0 :(得分:2)
您的代码假设您在$ _POST中传递$ num1和$ num2,但没有隐藏字段:
<input type = "hidden" name = "num1" value="<?php echo $num1; ?>"/>
<input type = "hidden" name = "num1" value="<?php echo $num2; ?>"/>
添加这些输入后,问题应该正确显示。
为了记录正确的答案,您需要考虑到$ answer变量当前存储的是随机数乘以而不是已发布的随机数的结果。您可以在代码的开头尝试以下操作:
if (!isset($_POST['num1'])) {
$num1 = Rand(1,10);
$num2 = Rand(1,10);
} else {
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];
}
$answer = $num1 * $num2;