我无法更新会话值
这是代码
<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)
感谢
答案 0 :(得分:3)
您明确将会话值设置为15,然后将10添加到其中。它应该永远不会达到35.尝试将作业删除到15(或者更好的是,在它之前添加if(!isset($_SESSION['value']))
检查),然后再试一次
您还应该听取John Conde的建议并确保在发送任何输出之前启动PHP会话。请阅读the manual
答案 1 :(得分:1)
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>