将计算的输出保存为计算器的新输入

Saving the output of calculation as the new input of a calculator

我想在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>

如果要将计算结果作为新输入提供给用户,只需将结果作为输入的新 value

最简单的解决方案和答案是:

 <input type="text" name="broj_1" value="<?php echo $rezultat; ?>">

如果您希望用户最初能够从头开始,您仍然可以显示它,但要预先select 结果:

<?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>