在php中回显时,SESSION返回旧值

时间:2014-03-06 10:39:49

标签: javascript php html5 session

<script language="javascript">
            function emergency()
            {
                if(document.getElementById('emer').checked == true)
                {
                    <?php $_SESSION['total2']= $_SESSION['total1'] + 50; ?>
                    document.getElementById('emr').innerHTML = "<b>Payable Amount: </b>" + <?php echo  $_SESSION['total2']; ?>;
                }
                if(document.getElementById('emer').checked == false)
                {
                    <?php $_SESSION['total2']= $_SESSION['total2'] - 50; ?>
                    document.getElementById('emr').innerHTML = "<b>Payable Amount: </b>" + <?php echo  $_SESSION['total2']; ?>;
                }
            }
            </script>

这里我添加$_SESSION['total1']+50并将值放在新会话SESSION['total2']中。问题在于,当我回显这个新的$_SESSION['total2']外侧脚本时,即在页面中

<?php echo $_SESSION['total2'];?>

它返回$ _SESSION ['total1']的值。

2 个答案:

答案 0 :(得分:4)

您是否正在调用javascript函数来更改php会话变量的值? .. 这是不可能的,因为, php是一种服务器端语言,而javascript是客户端,因此在加载页面时会执行php代码..

所以,如果您想在javascript函数调用上执行此操作,则需要使用ajax ...

答案 1 :(得分:1)

要获取$_SESSION['total2']的新值,您必须再次在服务器端运行代码。这意味着在获取total2会话变量的新值之前,您必须重新加载相应的php文件。