我正在尝试为网站创建一个数学问题集,用户将获得一个等式,他们必须在表单中写下答案。
我的HTML标记看起来像这样
<p> Please write the sum of these two numbers </p>
<label for="num1">Number1: <?php echo rand(2,200)?>
<label for="num2">Number2: <?php echo rand(2,200)?>
<input name="sum" type="text" />
我希望能够检查是否输入了生成的两个值的正确总和。这只是通用的。它最终将为问题提供更多变量和不同的数学运算符
如何使用PHP服务器端脚本执行以下操作:
a)Label来自echo rand()函数和的值 b)如何获取代码将它们存储为变量并输出到屏幕?
PS:我必须在php端进行,我知道这可能适用于Javascript / Jquery。
提前感谢您的帮助。
Varun的
答案 0 :(得分:2)
将您刚刚回显的数字转换为只读文本输入,然后在提交表单时将值提交回来(我假设这是较大表单的一部分,因为您没有使用js)。 / p>
<p> Please write the sum of these two numbers </p>
<label for="num1">Number1:</label> <input id="num1" name="num1" type="text" value="<?php echo rand(2,200)?>" readonly="readonly" />
<label for="num2">Number2:</label> <input id="num2" name="num2" type="text" value="<?php echo rand(2,200)?>" readonly="readonly" />
<input name="sum" type="text" />
您可以使用CSS来设置这些输入的样式,使它们看起来更像是内联文本。
答案 1 :(得分:1)
除了Javascript之外,您无法访问与<label>
有关的任何内容,最简单的方法(除了使用会话数据)是使用<input>
。
您需要声明值一次,因此您不会向用户显示与输入中存储的值不同的值。快速举例:
<?php
$num1 = rand(2,200);
$num2 = rand(2,200);
?>
<p> Please write the sum of these two numbers </p>
<label for="num1">
Number1: <?php echo $num1; ?>
<input name="num1" type="hidden" value="<?php echo $num1; ?>" />
</label>
<label for="num2">
Number2: <?php echo $num2; ?>
<input name="num2" type="hidden" value="<?php echo $num2; ?>" />
</label>
<input name="sum" type="text" />
答案 2 :(得分:0)
您无法使用PHP获取标签内容,您可以通过JS将其发送到PHP脚本或将这些数字保存在隐藏字段中,但这意味着一个人可以很容易地更改隐藏字段的值。我建议你这样做的方法是在用户会话中保存随机数,这样你就可以在提交答案或刷新页面后完全控制它。
答案 3 :(得分:0)
使用变量存储随机值和隐藏字段,以便使用表单发送它们。
<form action="results.php" method="get">
<p> Please write the sum of these two numbers </p>
<? $var1 = rand(2,200);
$var2 = rand(2,200); ?>
<input type="hidden" name="operand1" value="<?= $var1 ?>" />
<input type="hidden" name="operand2" value="<?= $var2 ?>" />
<label for="num1">Number1: <?=$var1?> </label>
<label for="num2">Number2: <?=$var2?> </label>
<input name="sum" type="text" />
<input type="submit" value="submit" />
</form>
是的,我正在使用短标签。如果你不这样做,只需更换
答案 4 :(得分:0)
你做不到。您需要将随机值放入隐藏字段:
<p> Please write the sum of these two numbers </p>
<?php
$Value1 = rand(2, 200);
$Value2 = rand(2, 200);
?>
Number1: <?php echo $Value1; ?>
Number2: <?php echo $Value2; ?>
<input type="hidden" name="Value1" value="<?php echo $Value1; ?>" />
<input type="hidden" name="Value2" value="<?php echo $Value2; ?>" />
<input name="sum" type="text" />
另外,我认为你不想在这里使用标签元素。 HTML中的标签与您在UI系统中找到的标签不同:在HTML中,它们必须附加到控件上。