我无法更新会话值
这是代码
<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>