我想用PHP制作一个计算器。我需要一种方法来将计算结果保存为新的预定义输入。
示例:用户乘以5和6并得到30的结果。如果他们想要乘以结果,他们现在需要再次输入30并选择所需的操作。
我想保存每个操作的结果,以便用户可以继续使用结果进行计算。如果用户不想进一步使用结果,则只需输入新号码,然后点击提交。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Kalkulator</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<?php
if (isset($_POST["posalji_vrijednosti"]))
{
$b_1 = $_POST["broj_1"];
$op = $_POST["operacija"];
$b_2 = $_POST["broj_2"];;
}
// Varijabla koja ce sadrzavati rezultat
$rezultat = "";
// Program odradjuje svoje ispod
if ($op == "*")
{
$rezultat = $b_1 * $b_2;
}
elseif ($op == "/")
{
$rezultat = $b_1 / $b_2;
}
elseif ($op == "+")
{
$rezultat = $b_1 + $b_2;
}
elseif ($op == "-")
{
$rezultat = $b_1 - $b_2;
}
?>
<form method="post">
<table>
<tr>
<td>Unesi prvi broj</td>
<td><input type="text" name="broj_1"></td>
</tr>
<tr>
<td>Odaberi operaciju</td>
<td><select name="operacija">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
</td>
</tr>
<tr>
<td>Unesi drugi broj</td>
<td><input type="text" name="broj_2"></td>
</tr>
<tr>
<td><input type="submit" name="posalji_vrijednosti" value=" = "></td>
</tr>
<tr>
<td>
<td>
<?php
echo "Rezultat: $rezultat";
?>
</td>
</td>
</tr>
</table>
</form>
</body>
</html>
答案 0 :(得分:1)
如果您希望将计算结果用作新输入,则只需将结果作为输入的新value
。
最简单的解决方案&amp;答案是:
<input type="text" name="broj_1" value="<?php echo $rezultat; ?>">
如果您希望用户最初能够从头开始,您仍然可以显示它,但预先选择结果:
<?php
$rezultat = ""; // init that var
// your calculation
$rezultat = "30";
?>
<input type="text" id="inputField" value="<?php echo $rezultat; ?>">
<script>
input = document.getElementById('inputField');
input.select();
</script>
或者您无法在输入中显示结果,但是提供一个将结果插入该输入的按钮:
<?php
$rezultat = ""; // init that var
// your calculation
$rezultat = "30";
?>
<input type="hidden" id="result" value="<?php echo $rezultat; ?>">
<button onClick="copyValue()">re-use Result</button><br>
<input type="text" id="inputField">
<script>
function copyValue() {
result = document.getElementById('result');
input = document.getElementById('inputField');
input.value = result.value;
}
</script>