首页 > 解决方案 > 在没有 Javascript 的情况下用 PHP/HTML 解决数学问题

问题描述

我对编程有点陌生(目前正在学习课程),我们周末的任务是建立一个网站(非常基本),我们必须在其中解决 2 个随机数的加法问题。我能够创建这些随机数,但是要创建类似于用户(在本例中是我)必须填写并“提交”的字段;然后网站应该显示我自己的anwser和正确的anwser。除此之外,我面临的问题是,当我创建提交功能时,网站会刷新,并且这些随机数每次都会改变。

我的代码如下所示(请原谅我使用德语术语):

<?php
$zufallszahl = rand(1,100) . "+";
$zufallszahl1= rand(1,100);
$solution= bcadd($zufallszahl,$zufallszahl1);
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Homework Taschenrechner</title>
</head>
<body>
    <h1>Additionen</h1>
    <hr>
    <h4>Addiere die folgenden Zahlen:</h4>
    <p> <?php echo $zufallszahl; echo $zufallszahl1 ?> <p>
    <form method="post">    
        <input type="number" name="Usereingabe" min="0" placeholder="Deine Antwort">
    </form>
</body>
</html>

我真的很感激一个“简单”的解决方案,我已经用谷歌搜索了这个问题一个小时,但是大多数解决方案现在对我来说太复杂了,我最终不明白代码是关于什么的。所以总结一下,我想知道如何创建一个不刷新网站的提交字段,以便保留随机数和一个“检查”答案并说出其真/假的字段。

标签: phphtmlforms

解决方案


虽然,如果你被允许使用 JS,它会简单得多。但是,由于您只希望在 PHP 中使用它,因此下面的代码应该可以工作。随意根据您的需要修改它

<?php
if(!isset($_POST['zufallszahl']) && !isset($_POST['zufallszahl1'])) {
    $zufallszahl = rand(1,100);
    $zufallszahl1= rand(1,100);
    // $solution= bcadd($zufallszahl,$zufallszahl1);
} else {
    $zufallszahl = $_POST['zufallszahl'];
    $zufallszahl1 = $_POST['zufallszahl1'];
    $solution = bcadd($zufallszahl,$zufallszahl1);
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Homework Taschenrechner</title>
</head>
<body>
    <h1>Additionen</h1>
    <hr>
    <h4>Addiere die folgenden Zahlen:</h4>
    <p> <?php echo $zufallszahl . " + "; echo $zufallszahl1 ?> <p>
    <form method="post">    
        <input type="number" name="zufallszahl" value="<?php echo $zufallszahl; ?>" readonly />
        <input type="number" name="zufallszahl1" value="<?php echo $zufallszahl1; ?>" readonly />
        <input type="number" name="Usereingabe" min="0" placeholder="Deine Antwort" value="<?php echo $_POST['Usereingabe'] ?? ''; ?>">

        <button>Check Answer  </button>

       <?php if(isset($_POST['Usereingabe'])){ ?>
           <?php if($_POST['Usereingabe'] == $solution)
                    echo "Correct Answer";
             else {
                   echo "Wrong Answer. Correct answer is $solution";
            } ?>
       <?php } ?>

    </form>
</body>
</html>

注意 如果您使用的是以下版本,PHP 7只需使用<?php echo isset($_POST['Usereingabe'])? $_POST['Usereingabe'] : ''; ?><?php echo $userSolution ?? ''; ?>


推荐阅读