我有一个文件check_fun.php,代码如下:$sdm_onecheck="";
$sdm_check="";
$i=0;
while ($i<2)
{
 $ii[$i]=rand(1,5);
 if ($ii[1]!=$ii[0]) $i++;
}
session_unregister('sdm_check');
session_register('sdm_check');
$sdm_onecheck=strval($ii[1]);
$sdm_check=strval($ii[0]);
echo $sdm_check."<br>";echo $_SESSION["sdm_check"];
以上的代码大概的意思就是我要注册一个SESSION里面放着我的一个数组里的一个值,
我在另一个页面abc.php使用以下方式调用此文件
require_once('getcheck_num.php');
require_once('check_fun.php');文件getcheck_num.php里面大概有以下内容:
session_start();
session_unregister('auth_num'); 
session_register('auth_num'); 
$auth_num=.................;一个每次都变化的值现在的问题是这样的
我在abc.php里怎么刷新,check_fun.php里输出的,第一个是变化的,可第二个值怎么也不变,就是第一次出现的值
但getcheck_num.php里的SESSION值 刷新一次变一次,但变的并不是当前的$auth_num的值,是这个子变量的上一次刷新过后的值(倒也无所谓,不是问题所在)我单独刷新页面:check_fun.php时,输出的两个值都一样的,也就是变量的值和SESSION的值是一样的,我的要求就是刷新abc.php的页面时,在check_fun.php里写入SESSION要能取现来(现在是每次取出来都是一个值,变量变了,SESSION还没变,不知道为什么),希望高手指点

解决方案 »

  1.   

    PHP 已经早不用 session_register 方法去处理SESSION了.多看手册.
      

  2.   

    我知道你的意思,可是我的getcheck_num.php里面就是用session_register来处理SESSION的,就没问题,每次刷新一次,SESSION就变化一次,只不过变成刷新前变量的值而以,但确实变了,变了就行了呀,如果用session_register不行的话,那为什么另一个页面是行的呢·
      

  3.   

    有没有人知道呀,急死了呀,SESSION就是传不过去,不知道为什么
    我重新做了个页面,
    session_start();
    session_register("username");
    session_register("loginid");
    session_register("logintype");
    这样注册了三个SESSION结果username.logintype都能传过去,就是loginid传不过去,为什么呀,?
    取的时候用$HTTP_SESSION_VAS和$_SESSION都用过了,都不行哦,一三两个能取到,第二个就是取不到,都一样的付值了哦。
      

  4.   

    session_start();
    $_SESSION["username"]=1;这才是正综的用法
      

  5.   

    session_register("username");
    session_register("logintype");
    $_SESSION["username"]=$username;
    $_SESSION["logintype"]=$logintype;
                      echo $_SESSION["username"];//这行可以正确显示这个SESSION 然后做下面处理:
    <script language='javascript'>
    top.location='main.php';
    </script>到main.php后就取不到任何SESSION了,为什么!
      

  6.   

    你的 main頁面有没有session_start?