1.php
<?php
session_start();
$_SESSION["name"]="jacksq";
中转到2.php
?>2.php
<?php
session_start();
echo $_SESSION["name"];
$_SESSION["name"]="abc";
?>
问题:为什么2.php中输出的是abc,而不是jacksq

解决方案 »

  1.   

    1.php
    <?php
    session_start();
    $_SESSION["name"]="jacksq";
    echo"<a href=\"./2.php\" target=\"_self\">跳转</a>";
    ?>2.php
    <?php
    session_start();
    echo $_SESSION["name"];
    $_SESSION["name"]="abc";
    ?>
    问题:为什么2.php中输出的是abc,而不是jacksq
      

  2.   

    2.php第一次访问应该是jacksq,第二次则是abc
    比较奇怪。
      

  3.   

    在2.php中,我在输出SESSION和改变SESSION值之间加入很多的PHP代码语句,问题就解决了,输出的就不是改变后的值,而1.php中赋的值“jacksq”。
    这个问题就更加奇怪了。期待高手的指点!!!
      

  4.   

    SESSION跟浏览器无关,但是如果有网页缓存,就会出现奇怪的结果,你试试给url加参数,如果你用ie6,试试别的浏览器???
      

  5.   

    加了URL也不行,得到的仍然是当前页面改变后的结果。
      

  6.   

    你的SESSION 已经赋值了 
      

  7.   


    是的啊,我测试了也是输出jacksq
      

  8.   

    我测试都是很正常啊,输出结果:jacksq
      

  9.   

    访问1.php的时候session["name"]值为"jacksq"刚跳转至2.php的时候echo一次session["name"]应该是"jacksq"结果,
    同时session["name"]值发生改变,变成了"abc"。如果在2.php刷新的话显示的结果将会变为"abc"。从楼主的情况来看,是不是因为服务器响应的慢,你重复输入了一次网址并键入了回车?
    所以你见到的是刷新后的2.php,会不会是这种情况?