Php 上一个下一个按钮

Php Previous Next Buttons

我正在尝试制作一个增加和减少变量的脚本。之后这将被发送到 mysql 查询。我的问题是下面的代码即使有效也有问题。当我按下箭头(按钮)以增加值时,它就可以了,可以说到达值 4。现在我想减少,问题是它再次从值 0 开始,因此它将显示 -1,而不是从它保留的值 4 开始。 这是因为我设置了会话。 $_SESSION['addnum'] = $_SESSION['subnum'] ;

我尝试了很多方法,但无法找到正确的方法,即使我确定它可以快速修复。 代码如下(不上传按钮图片也能正常运行)

<?php
   session_start();
   // Page was not reloaded via a button press
   if (!isset($_POST['sub'])) {
       $_SESSION['subnum'] = 0; // Reset counter
   }
   
   if (!isset($_POST['add'])) {
       $_SESSION['addnum'] = $_SESSION['subnum'] ; 
   }      
?>

<form method='post'>

<input type="image" name='sub' src="includes/arrow-left.png" alt="Submit" value='-' width="32" height="32">
<input type="image" name='add' src="includes/arrow-right.png" alt="Submit" value='+' width="32" height="32">

<?php 
$var = $_SESSION['subnum']-- ;  
$var = $_SESSION['addnum']++ ; ?> 
</form>

<h3><em>Substract & Add number :  </em></h3>
<?php
echo "var = ", $var ;
?>

提前致谢

您没有处理表单提交。

<?php
   session_start();
   // Page was not reloaded via a button press
   if (!isset($_POST['sub'])) {
       $_SESSION['subnum'] = 0; // Reset counter
   } else {
      $_SESSION['subnum']--;
   }

   if (!isset($_POST['add'])) {
       $_SESSION['addnum'] = $_SESSION['subnum'] ; 
   } else {
      $_SESSION['addnum']++;
   }     
?>

这里有 2 个变量。一种在加法时改变,一种在减法时改变。同时,每次加载页面时,减去时更改的内容都会重置。添加确实是巧合。

为什么不简化?

<?php
   session_start();
   // Page was not reloaded via a button press
   if (!isset($_POST['sub']) && !isset($_POST["add"])) {
       $_SESSION['num'] = 0; // Single variable to do both
   }
?>

<form method='post'>

<input type="image" name='sub' src="includes/arrow-left.png" alt="Submit" value='-' width="32">
<input type="image" name='add' src="includes/arrow-right.png" alt="Submit" value='+' width="32">

<?php 
if (isset($_POST["add"])) {   
    $_SESSION["num"] ++;
} else if (isset($_POST["sub"])) {  
    $_SESSION['num']-- ;  
}
$var = $_SESSION['num']; ?> 
</form>

<h3><em>Substract & Add number :  </em></h3>
<?php
echo "var = ", $var ;
?>

编辑:我假设图像输入以某种方式触发提交