如何使session更新php中的值


how to make session update the value in php?

我无法更新会话值

这是代码

<CENTER>
<?PHP
    session_start();

$_SESSION['value'] = 15;
    if(isset($_POST['submit'])){
    $plus = 10;
    $_SESSION['value'] = ($_SESSION['value']  + $plus);
    }
echo "<FORM METHOD=post ACTION='"?page=try&". time(). "'" NAME=try>'n"; 
echo "<br>";
echo "Your value :" .$_SESSION['value'];
echo "<INPUT TYPE=submit NAME=submit VALUE='"Submit'"></FORM>";
?>
</CENTER>

问题是每次我点击那个按钮,它总是给我同样的结果。

$_SESSION['value']总是15并且它从不改变

那么如何更新会话值呢?所以当我再次点击按钮时,我会让$_SESSION['value']变成35(过去的结果是25)

感谢

您显式地将会话值设置为15,然后再加10。它永远不会达到35。尝试将分配删除为15(或者更好的做法是,在其之前添加if(!isset($_SESSION['value']))检查),然后重试

您还应该接受John Conde的建议,并确保在发送任何输出之前启动PHP会话。请阅读手册

session_start()必须在任何输出发送到浏览器之前(当使用基于cookie的会话时)。

<?php session_start(); ?>
<CENTER>
<?php
$_SESSION['value'] = 15;
    if (isset($_POST['submit'])) {
        $plus = 10;
        $_SESSION['value'] = ($_SESSION['value']  + $plus);
    }
echo $_SESSION['value'];
echo '<form method="post" action="try1.php" name="try">' . "'n";
echo '<br>';
echo 'Your value :' . $_SESSION['value'];
echo '<input type="submit" name="submit" value="submit"></form>';
?>
</CENTER>