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 ;
?>
编辑:我假设图像输入以某种方式触发提交
我正在尝试制作一个增加和减少变量的脚本。之后这将被发送到 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 ;
?>
编辑:我假设图像输入以某种方式触发提交