在另外的页面的开头得加上session_start();你不会忘了吧?还有,你的链接必须是写的相对链接,若是绝对链接则行不能。

解决方案 »

  1.   

    试试 echo "$_SESSION['id'] ";
    or   echo "$HTTP_SESSION_VARS['id']";若再不行, 检查php.ini这个档案, 直接激活 session.auto_start 
      
      session.auto_start = 1然后重启 web server
      

  2.   

    session_start()
    必须写在最前面的是么?
      

  3.   

    先调用Session_start();
    然后直接对$_SESSION['变量名']赋值
    如果要调用这个变量也要用$_SESSION['变量名']这种格式!
      

  4.   

    在别的页面使用注册过的session 变量,要传递session id
    例: test1.php -------------------
    <?
      session_start();  session_register("id");  $SID = session_id(); echo "<a href=test2.php?SID=$SID > ... </a> ";   //链接
    ?>
    ----------------------------------------test2.php ---------------------------- <?
       session_start($SID);
        
       echo $_SESSION['id'];
       ...
       ..
    ?>------------------------------------
      

  5.   

    用$_SESSION['id']=$id 代替 session_register("id");显示变量用echo $_SESSION['id']代替 echo $id
      

  6.   

    一定要传递session_id吗?某一页面注册一个session 变量,如何使所有的窗口关闭后,才使这个session变量失效
      

  7.   

    把php.ini文件中的session_global = off改为on;
      

  8.   

    我的php.ini里怎么没有这项session_global?? 你用的是什么版本?
      

  9.   

    对不起,我记错了是register_globals = on;
      

  10.   

    当你打开register_globals时,session变量只需注册一次。以后只要你不关闭浏览器,就可以到处使用了
      

  11.   

    我这里是设的ON呀,当我在一个登录页面注册一个session,在新打开一个窗口可以使用这个session变量,
    可是关闭登录页面后,再次打开页面,就找不到这个session(另一个窗口还是可以用这个session的),
    如何解决呀?
      

  12.   

    对,当你再打开一个新窗口时就又初始化了另外一个session
    但以前的窗口和派生出来的窗口中都是老session
      

  13.   

    我是想知道如何实现在老的session失效之前,再打开某一页面如何使用老的session而不是注册新的session,象会员登录的页面,在会员注销或是关闭所有浏览器窗口之前session注册 一次就一直使用,而不注册 新的session? 谢谢
      

  14.   

    还有,我用了session_start()函数后,原来页面上的链接自动加了PHPSESSID=91027398479234的东西,能不能去掉???
      

  15.   

    是不是需要用cookie呀,我想是不是应该把session_id,存到cookie里,每次先从cookie中读取是否有session存在,如果没有就创建新的session
      

  16.   

    我觉的你说的功能可能超出了session的能力范围。可以考虑用cookie。
    而SESSIONID是一个新SESSION的标识,PHP根据SESSIONID的不同来区分不同的SESSION变量。
    具体SESSION信息存储在服务器的某个目录下(根据PHP.INI里的SESSION_SAVE_PATH)。那里存储着左右当前SESSION。
    我只知道这些了。不知道能不能帮你
      

  17.   

    由于http协议是无状态的,所以引入SESSION的目的就是保存一个会话。
    但当用户新打开一个浏览器窗口时,就等于又建立了一个会话状态,当然php会重新初始化一个新session。所以你要的功能只用session是不能够实现的。
      

  18.   

    如果你的新窗口是通过双击浏览器图标打开的,那session肯定是新的,
    但如果你的新窗口是通过在父窗口中点击某个链接打开的,那就是老session
      

  19.   

    我以前都是直接用第一个页面
    <?
    session_start();
    session_register(abc);
    $abc = 123;
    echo "<a href=test2.php>fff</a>";
    ?>第二个页面
    <?
    session_start();
    echo $abc;
    ?>值都能传过去今天,我偶然将浏览器改为禁止COOKIE,值竟然传不过去哇!!!好恐怖,我整个项目全部是这样的传值方式,如果用户浏览器不支持的话,那不死定了?我想顺便问一下,禁止COOKIE会导致session注册变量失败吗?如果这样的话,哪位大哥能给个好办法,要不整个项目就完了!!先谢过
      

  20.   

    至少要打开cookie的会话方式
    才能使用session
    session的值不能传递也许是因为你的页面不是放在同一个解决方案里