使PHP计算器存储和显示历史记录

使PHP计算器存储和显示历史记录,php,html,session-state,Php,Html,Session State,我是PHP新手,我正在尝试创建一个简单的计算器,它还可以在页面上的div中显示历史记录(过去的计算) 在第一个字段中输入“4+”,在第二个字段中输入“3”,然后在名为“results”的div中显示“4+3=7”。但是,我想在那里显示结果的整个历史记录,所以当我执行新的计算时,两个计算/结果都将显示在results div中。在PHP中执行此操作的最佳方法是什么?DOMNode::appendChild会是一个选项吗 以下是我目前的代码: <div id="form"> &l

我是PHP新手,我正在尝试创建一个简单的计算器,它还可以在页面上的div中显示历史记录(过去的计算)

在第一个字段中输入“4+”,在第二个字段中输入“3”,然后在名为“results”的div中显示“4+3=7”。但是,我想在那里显示结果的整个历史记录,所以当我执行新的计算时,两个计算/结果都将显示在results div中。在PHP中执行此操作的最佳方法是什么?
DOMNode::appendChild
会是一个选项吗

以下是我目前的代码:

<div id="form">
    <form action="" method="post">
        <input type ="text" name="firstNumber">
        <input type ="text" name="secondNumber">
        <input type ="submit" style="display:none">
    </form>
</div>

Result:

<?php 

    $number1 = $_POST["firstNumber"];
    $number2 = (int)$_POST["secondNumber"];

    @$operator = substr($number1, -1);


switch($operator){
    case '+':
        $result = (int)$number1+$number2;
        echo $result;
        break;
     case '-':
        $result = (int)$number1-$number2;
        echo $result;
        break;
    case '*':
        $result = (int)$number1*$number2;
        echo $result;
        break;
    case '/':
        $result = (int)$number1/$number2;
        echo $result;
        break;
}

?>


<div id="results">
    <?php echo substr($number1,0, -1);
        echo $operator; 
        echo $number2; ?>
 <br>=
    <?php echo $result; ?>
</div>

结果:

=

谢谢你的帮助

要在服务器端存储历史记录,您需要一个数据库(如MySQL)、一个缓存服务器(如Memcache或Redis),或者只需将结果存储在
$\u会话中即可。是关于如何在会话中存储数据的好资源。如果您将其存储在
$\u会话中
,当用户清除其Cookie(或注销,如果您实现用户帐户)时,您的历史记录将丢失。

在您的情况下,php会话将非常有用……谢谢!我不需要长时间存储这些值,所以会话是个好主意。但是,如何区分不同的提交/计算结果,并将它们存储在不同的会话变量中?现在,当我第二次提交表单时,我的结果只是替换了旧的结果。我尝试将结果保存为$\u SESSION[$id],并为每次提交增加$id,但无法使其正常工作。你认为这就是路吗?