是这样的,我说说我的理解吧,也许不是很专业、准确的说法。我们把一个变量分为两级,高级变量是在每个页面中不需要传递都存在的,也即是session/cookie变量。低级变量是仅在一个页面中存在,若不传递,另外的页面就没有的变量。即普通变量。那么,我们用session_register()是直接申请了一个高级变量,但是session_unregister()却仅仅是把这个高级变量变成低级变量,所以他在同一个页面中还是有数据的。但是若不经传递,在另外的页面中就绝对没有数据了。

解决方案 »

  1.   

    to 宇凡
    我也是这样,用了session_unregister(),但在下一个页面中仍然有此值,而且我后来还用了session_destroy(),没想到还是一样,而且session_id()在下一个页面得值也一样,变量值也还是一样,真是太让我惊讶了!!!!!!why??
      

  2.   

    这是test.php
    <?php
    session_start();
    session_register('a');
    session_register('b');
    $a='admin';
    $b='sj';
    print(session_id());
    echo $a;
    session_unregister('a');
    echo $a;
    session_destroy();
    echo $a;
    ?>
    输出结果:
    9a2c161135cfd872e53da5a34ebfcf95adminadminadmin
    说明函数session_unregister(),session_destroy_()都没有起作用,为什么?
      

  3.   

    都说了在同一页肯定是有数据的。你在最后面加个print(session_id());试试?我就不信他还show得出来!
      

  4.   

    u can try session_unset()但session_unset()把所有的session都注销了
      

  5.   

    session_destroy是不是有问题?为什么我总是有警告?而且session也结束不了~!
    :(
      

  6.   

    session_destroy()还会报错~~~真的是不知道怎么回事了~~那应该不是代码的问题了~~