$_SESSION["$subdirectory"]   =   1;   
   你每次都让值为1了

解决方案 »

  1.   

    ft,你没读懂我的程序吧
    现在发现问题了
    如果用$_SESSION['var']定义SESSION变量的话是能跨页面传值的,但是如果用$d='var',$_SESSION[$d]来定义SESSION变量的话就传不了了,这是为什么啊,谢谢
      

  2.   

    while($_SESSION["$subdirectory"]   ==   1) 
          { 
                echo   "for   subdirectory   $subdirectory,SESSION   EXISTS"; 
                $subdirectory++; 
          } 
          $_SESSION["$subdirectory"]   =   1; 
    --------------------------
    $_SESSION['subdirectory'];
      

  3.   

    还要我解释一遍我的程序吗如果页面没有$subdirectory,就给它分配一个别人没用的,看是否有人用就是看$_SESSION[这个对应的号码]是否为1,为1说明有人再用了,所以$subdirectory++,当找到没人用的$subdirectory后循环退出,并置这个对应的$_SESSION[这个号码]为1。。
      

  4.   

    但是我觉得$d没必要跨页啊,它可以在当前页查到$d='var',然后置 $_SESSION['var]为相应的值,不知道为什么不行
      

  5.   

    当你用$d的时候,你把session输出来,我觉得可能没用值.
      

  6.   

    试试这个看看:<?
    session_start();
    if (!$Page_ID) {

    if (!$_SESSION["Page_Num"]) {
    $Page_ID = $Page_Num = 1;
    session_register("Page_Num");
    echo "1窗口ID:$Page_ID<br>";
    }else{
    $Page_ID = $_SESSION["Page_Num"] = $_SESSION["Page_Num"] + 1;
    echo "2窗口ID:$Page_ID<br>";
    }

    }

    ?><a href="test.php" target="_blank">打开一个新的窗口</a>