先按普通变量的方式给$username赋值
再用session_register把$username注册为session变量
调用时先运行session_start(),再用$HTTP_SESSION_VARS[变量名]调用,和普通变量没什么区别

解决方案 »

  1.   

    <?
    session_start();
    session_register('var');
    $var='this is a test';
    ?>
    or
    <?
    session_start();
    $_SESSION['var']='this is a test';
    ?>
      

  2.   

    <?
    session_start();
    session_register('var');
    $var='this is a test';
    ?>
    我在后面如果修改了$var的值,session里面的会不会也变化?
      

  3.   

    很多人在session上搞不清楚,就是像楼上的这种疑问.
    所以强烈建议大家在使用session的时候,直接去改$_SESSION数组!!!这样: $_SESSION['var']='this is a test';读取的时候也一样.这样就把session统一化了, 不必再去想注册的问题!
      

  4.   

    是不是都要先session_start()?
    如果$_SESSION['login']='';这样赋值的话,是不是相当于没有注册该login?也就是说可以只在登陆验证通过的时候用$_SESSION['login']='1';来确定登陆,其他时候不赋此值即可——默认的时候是空值?
      

  5.   

    同意 uGain(幽亙) 
    LeeMaRS(想做DP杀手的小菜虎) 的写法在php4.1.x下无效
      

  6.   

    为何无效?那不就是uGain(幽亙) 的第二种写法吗?
      

  7.   

    <?php
    session_start();
    session_register('var');//注册var变量到session中。
    $var='test';//给$var赋值,同时session中的$var也会相应变化。
    ?><?php
    session_start();
    $_SESSION['var']='test';//php 4.2后可以这样将变量的注册和赋值一步完成。此句的用途就是:如果session中存在$var变量,则将session中的$var的值改为'test',如果不存在,则注册$var到session中,将赋值为'test'。
    ?>
      

  8.   

    是的php4.1.x需要用传统的方法注册
    <?php
    session_start();
    session_register('var');//注册var变量到session中。
    $var='test';//给$var赋值,同时session中的$var也会相应变化。
    ?>
    但使用时(另外的页面)却需要用$_SESSION来访问
      

  9.   

    $HTTP_SESSION_VARS[变量名]即通用的了?
      

  10.   

    $HTTP_SESSION_VARS['VAR']==$_SESSION['VAR'];
    推荐使用$_SESSION['VAR'].
      

  11.   

    $HTTP_SESSION_VARS兼容的吧。不过最好啊,根据PHP版本来有选择的使用