【发布时间】:2022-02-04 02:46:01
【问题描述】:
我是编码初学者,我正在打印一个数字(这里是 36),我有 4 个按钮。按下每个按钮应从剩余的金额中减去。所以当我按下“3”按钮时,剩余的数量是 33,但之后当我按下“4”按钮时,显示的值应该是 29,但我得到的是 32。
如何使变量mleft 的值不会在每次按下按钮时重置为 36?
<div class="bt_grp">
<form method="post">
<button value=1 name="pressed">1</button>
<button value=2 name="pressed">2</button>
<button value=3 name="pressed">3</button>
<button value=4 name="pressed">4</button>
</form>
</div>
<?php
$mleft = 36;
if (isset($_POST['pressed'])) {
echo $_POST['pressed'];
$mleft = $mleft -= $_POST['pressed'] ;
}
?>
<div class="flex-container">
<div id="matchn">
<h3>Matchsticks left</h3>
<h1><?=$mleft?></h1>
</div>
</div>
【问题讨论】:
-
要么使用
-=或=,不能同时使用。 -
记住,
$x -= $y是$x = $x - $y的快捷方式 -
每按一次按钮提交页面,PHP 就会重新运行,并且每次都将
mleft设置为36。您需要将更改的值存储在某处(cookie、URL、数据库等)