怎么可能?
你在b.php里加一个语句,测试一下session是不是变了
echo session_id();
再不断刷新,看看session_id值变了没

解决方案 »

  1.   

    你是什么系统,如果是WINDOWS,SESSION的目录设置正确?
      

  2.   

    $_session['***'] 改为 $_SESSION['***']
      

  3.   

    我把b.php改成了这样:
      session_start();
      echo session_id();
      echo $_SESSION["name"];结果是a.php和b.php显示出的sessionID是相同的.但在a.php里可以输出name值,在b.php里打不出来
      

  4.   

    php.ini->session.save_path = /tmp
    系统是2003server+IIS6+php4.34
      

  5.   

    显示不出来.
    我编了这样一个页面:  $name = "rrr";
      session_start();
      $_SESSION['name'] = $name; 
      if (empty($_SESSION['name']))
        echo "未注册!";
      else {
        echo $_SESSION["name"];
        ehco session_id();
      }  $_SESSION = array();
      session_destroy();打开页面后name的值能显示出来,然后我反复的刷,发现session_id()的值没有变.
      

  6.   

    以下程序在我机器上通过。(只是把你的小写改成大写)
    a.php
    -----------------------------------------------------
    <?
      session_start();
      $_SESSION["name"] = "kkk";
      if (empty($_SESSION["name"]))
        echo "未注册";
      else
        echo "<a href=b.php>注册成功,查看结果</a>";
    ?>
    --------------------------------------------------------
    b.php
    --------------------------------------------------------
    <?
     session_start();
      if (empty($_SESSION["name"]))
        echo "未传到";
      else
        echo "传递成功". $_SESSION["name"];
    ?>
      

  7.   

    晕了.我把你的代码拷过来一试,a.php是成功,b.php是未传到.
    看来是不是我的php设置有问题呀?
      

  8.   

    问题解决了!
    方法是把session.save_path的值设成绝对路径就行了!
    不过不它默认的/tmp是指的哪个地方的tmp目录