php - 在没有 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>
我真的很感激一个“简单”的解决方案,我已经用谷歌搜索了这个问题一个小时,但是大多数解决方案现在对我来说太复杂了,我最终不明白代码是关于什么的。所以总结一下,我想知道如何创建一个不刷新网站的提交字段,以便保留随机数和一个“检查”答案并说出其真/假的字段。
解决方案
虽然,如果你被允许使用 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 ?? ''; ?>
推荐阅读
- sql - 为什么我们的应用程序需要刷新数据库视图?
- ruby - pg gem 安装在 Redhat 中出现错误
- javascript - RXJS 在嵌套数组中调用 api 并将结果合并到数组中
- excel - 将日期的月份和年份与日期行匹配
- python - 在循环中堆叠 numpy 数组的最快方法是什么?
- jquery - 必须选中组中至少 3 个复选框
- windows - 如何在后台启动批处理文件中运行 ssh 反向隧道?
- python - Python map 和 lambda 组合给出错误
- c++ - 使用 AVX 的全连接层(点积)
- python - 如何将 DF 中的字段解析为月、日、年、小时和工作日?