如何在php中访问标签的值?

时间:2011-08-10 14:34:42

标签: php html math random label

我正在尝试为网站创建一个数学问题集,用户将获得一个等式,他们必须在表单中写下答案。

我的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的

5 个答案:

答案 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中,它们必须附加到控件上。