继续在PHP中增加价值

时间:2011-10-10 10:35:48

标签: php

最初,$ number = 0.第一次点击Add按钮后,该值变为10.第二次点击时,值变为20.然后第三次是30,第四次是40。

以下是我的代码,有没有人知道如何修复它?谢谢!

<?php
      $number = 0;
      if(isset($_POST['add'])){

          $number = $number +10;
       }
?>
<html>
    <head>

    </head>
    <body>
        <form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
            <?php echo $number; ?>
            <input type="submit" name="add" value="Add" />
        </form>
    </body>
</html>

5 个答案:

答案 0 :(得分:1)

这是PHP工作原理的基础。

请求之间没有“状态”。这意味着每个请求都会忘记一切。因此,如果您想保留数据,则必须将其存储在某个位置。

有两种选择:

  • MySQL等数据库
  • 会话
  • 一个cookie
  • 缓存系统,如APC

答案 1 :(得分:1)

  <input type="hidden" value="<?php echo $number ?>" name="number" />

现在将$ _POST ['add']更改为$ _POST ['number'] 并且$ number = $ _POST ['number'] + 10;

答案 2 :(得分:1)

首先,您的PHP需要稍微调整一下:

<?php
    $number = ($_POST['add'] != '') ? 0 : $_POST['add'];
    $number += 10;
?>
<html>

然后在<input type="submit">上方添加隐藏输入,如下所示:

<input type="hidden" name="add" value="<?php echo $number; ?>">

答案 3 :(得分:0)

使用会话变量保留每页请求的值。脚本执行完毕后,将销毁简单变量值。会话变量将保留该值。

详细了解session

或使用数据库。

答案 4 :(得分:0)

您需要以某种方式保存该值。要么使用数据库,比如MySql,要么可以将值保存在会话变量中。