Php 如何逐一相加
我有一个变量$SessionMinus。我想做的是,每次提交或刷新表单时,它都会将数字加上1,这样它将从1开始,然后是2,然后是3。。。所有会话的最大数目为$\u SESSION['sessionNum']。如何做到这一点 谢谢Php 如何逐一相加,php,session,Php,Session,我有一个变量$SessionMinus。我想做的是,每次提交或刷新表单时,它都会将数字加上1,这样它将从1开始,然后是2,然后是3。。。所有会话的最大数目为$\u SESSION['sessionNum']。如何做到这一点 谢谢 <?php session_start(); $sessionMinus = 1; if(isset($_POST['sessionNum'])){ //Declare
<?php
session_start();
$sessionMinus = 1;
if(isset($_POST['sessionNum'])){
//Declare my counter for the first time
if ($sessionMinus < $_SESSION['sessionNum'])
{
$sessionMinus++;
}
$_SESSION['initial_count'] = $_POST['sessionNum'];
$_SESSION['sessionNum'] = $_POST['sessionNum'];
}
?>
<body>
<?php
echo $sessionMinus;
?>
<form id="enter" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" onsubmit="return validateForm(this);" >
<p><input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" /></p>
</form>
<?php
$outputDetails = "";
$outputDetails .= "
<table id='sessionDetails' border='1'>
<tr>
<th>Number of Sessions:</th>
<th>{$_SESSION['initial_count']}</th>
</tr>";
$outputDetails .= " </table>";
echo $outputDetails;
?>
</body>
如果我理解正确,您只需增加$sessionMinus++;在你第一次的情况下
if(isset($_POST['sessionNum']))
{
if ($sessionMinus < $_SESSION['sessionNum'])
{
$sessionMinus++;
}
}
这样,每次有人在定义了$\u POST['sessionNum']后提交表单时,$sessionMinus都会递增。您似乎试图跟踪会话启动的次数,直到最长时间。创建一个count会话变量,并最初为其分配一个。每次加载会话时,递增然后将此新变量分配给“sessionMinus”
<?php
session_start();
if(isset($_POST['sessionNum'])){
$_SESSION['sessionNum'] = $_POST['sessionNum'];
}
if(!isset($_SESSION['sessionCount'])){
$_SESSION['sessionCount'] = 1;
}
else
{
$_SESSION['sessionCount']++;
}
$sessionMinus = $_SESSION['sessionCount'];
?>
编辑:在第二集上犯了一个小错误。。。更正它要减量,你应该使用$_SESSION['sessionNum']-而不是$_SESSION['sessionNum']++我想将它加1,而不是减1你的问题不清楚,你能告诉我们你想做什么吗?给我5分钟时间来澄清问题,我会更新上面的代码。它仍然不起作用。我将提供一个html。html中的情况是,在文本框中输入一个数字,然后提交表单,在下一页中,oyu将看到2个数字,您在文本框中输入的数字显示在下面,而$sessionMinus显示在顶部。现在它应该是1,然后当你提交表单时,它应该变为2,然后变为3等等,但现在它不是显示1而是显示2,因为它是直接相加的,当表单提交时,它返回到数字1。HTML是Hi,我更新了上面的代码,但它仍然在做同样的事情。上面的代码是我更新了你的意思吗?我不确定你想在这里完成什么,你想添加什么变量+1?另外,$sessionMinus在您上次的更新中是完全无用的。我希望$sessionMinus每次加1,直到最大的数字是$\u SESSION['sessionNum'],我将更新上面的代码。它仍然不起作用。我将提供一个html。html中的情况是,在文本框中输入一个数字,然后提交表单,在下一页中,oyu将看到2个数字,您在文本框中输入的数字显示在下面,而$sessionMinus显示在顶部。现在它应该是1,然后当你提交表单时,它应该变为2,然后变为3等等,但现在它不是显示1而是显示2,因为它是直接相加的,当表单提交时,它返回到数字1。HTML是OP说当页面刷新时他需要它来增加的内容。由于该变量在页面刷新期间不是持久的,因此需要存储并重新加载它。我对这个问题的解释如下。