第一个页面也用了session_start()的,只是我没有贴出来。

解决方案 »

  1.   

    第一个也用了session_start()的,只是没有贴出来
      

  2.   

    第一個頁面改為
    <?
    session_start();
    $test="ddd";
    session_register("test");
    echo $HTTP_SESSION_VARS["test"];
    ?>
    php實際上比asp方便多了,等你熟練了就好了
      

  3.   

    不是拉,我贴出来的是运行正常的页面,我用来测试了,除了这个代码没有别的。我说的运行不正常的是别的程序,很长,无法贴出来。
    谁知道有什么情况会session注册了,但是却没有值?
      

  4.   

    1.有可能有哪個變量同這個session的名稱相同,而導致session的值更改
    2.客戶端瀏覽器cookie關閉
    3.session功能沒有打開
    4.用錯
      

  5.   

    還有:
    直接用
    $HTTP_SESSION_VARS["var"] = "xxxxxxxxxx";
    這樣是不能註冊session的
    祇能向這個數組裏面添加一個元素而已
      

  6.   

    为什么要往HTTP_SESSION_VARS["var"]加?
    不可以直接登记就使用?
    session_start();
    if(is_session_registered("test"))
    {
    session_register("test")
    $test="ddd";
    }
    以后用$test不就行了?
      

  7.   

    直接用
    session_register("test");
    $HTTP_SESSION_VARS["var"] = "xxxxxxxxxx";
    这样是没有问题的,和下面这种用法
    session_register("test")
    $test="ddd";
    效果是一样的,其实想想他这种语言解释的原理就明白了,这两种肯定是一样的效果。而且看看前面的贴子,前面有人说过了,在某些php的设置下,后面那种用法没有效果的,前面这种始终有效,似乎php文档也推荐前面一种方法。
    我找到原因了,注册之后换了一个页面就没有值的原因是我把这段代码放到一个函数里面了,如果不放在函数里面就正常了。很奇怪,有人知道是为什么吗?
      

  8.   

    to wasy(嘻嘻哈哈) :
    直接修改$HTTP_SESSION_VARS[]也可以达到注册SESSION变量的.偶已经试过了.
    偶以前没测试就下了论断,是偶不对.