会话变量只增加一次


session variable increments only once

我使用会话值增加2个变量与ajax跨页面…我在Page1中使用了session_start,并在第1页中将会话变量初始化为0。在page2中,我根据条件初始化它们。我似乎增加了一次,但没有效果这是我的操作页面

    <?php 
session_start(); 
?>
<html>
<body>
<?php
$j=isset($_POST['commit']) && $_POST['commit'];
    if($j)
    {
    $num=rand(0, 100);
    ?>

<div>
    <div id="inner_1">
        <?php 
        if($num<27){ 
            echo "Result:Hit";
            $_SESSION['off']=$_SESSION['off']=+1;
                echo "Offensive Player:";
            if(isset($_SESSION['off'])){echo $_SESSION['off'];}else{echo '0';}
                echo "Defensive Player:";
             if(isset($_SESSION['on'])){echo $_SESSION['on'];}else{echo '0';} 
                } 
        else 
                {
            echo "Result:Miss";
            $_SESSION['on']=$_SESSION['on']=+1;
            echo "Offensive Player:";
            if(isset($_SESSION['off'])){echo $_SESSION['off'];}else{echo '0';}
            echo "Defensive Player:";
            if(isset($_SESSION['on'])){echo $_SESSION['on'];}else{echo '0';}
                }    ?>
    </div>

</div>

    <?php } ?>
</body>
</html>
Page1

        <?php
       session_start();
       $_SESSION['off']=0;
       $_SESSION['on']=0;
       ?>
$_SESSION['on']=$_SESSION['on']=+1;

这应该做什么?将+1两次赋值给$_SESSION['on'] ?

向变量中添加数字,使用:

$_SESSION['on'] += 1;

(对你的$_SESSION['off']做同样的事情)

这是因为

$_SESSION['off']=$_SESSION['off']=+1;
                                 ^
                                 +---unwanted = sign 

应该是

 $_SESSION['off']=$_SESSION['off']+1;

同样适用于$_SESSION['on']

$_SESSION['off']=+1表示将值1赋给会话变量

改变
$_SESSION['off']=$_SESSION['off']=+1;

$_SESSION['off'] = $_SESSION['off']+1;

和上面的$_SESSION['on']=$_SESSION['on']=+1;一样

在HTML页面的第一个php标签中声明会话变量,它应该可以解决您的问题。