难道用login.php注册的session变量,在传到manager.php框架的时候有问题?但是为什么在我电脑上运行(iis+php和apache+php我都试过)一切正常呢。

解决方案 »

  1.   

    用户名和密码经验证正确后由以下语句注册session变量和跳转$_SESSION['rank'] = $verify->row[0]['rank'];
    header("location:manage.php");其中$verify->row[0]['rank'];是一个值,是正确的
      

  2.   

    可不可能是某一个页面重复注册了$_SESSION['rank'] 呢?
      

  3.   

    有可能和你用了框架有关吧
    我也遇到过类似的问题
    用了框架之后session好像会混乱的
      

  4.   

    可能你服务器上的php版本太低,
    试试用session_register();来注册
      

  5.   

    session也有Lifetime的,在php.ini里面有设置
      

  6.   

    服务器php是4.3.3的
    session的生存期我问了管理员,是关闭浏览器才失效的,我也做了测试奇怪的是程序在我电脑环境下一切正常,但是按道理来说只要是由login.php后打开的页面都可以读取login.php注册的session变量的啊进入后台管理系统后,开始是可以执行操作的,操作几次就不行了,我保证没有对rank变量重新赋值
      

  7.   

    是服务器的sessoin设置有问题,我也遇到过类似的问题,修改session的设置应该是可以结局这个问题的
      

  8.   

    我刚写了个很简单的测试test.php文件
    <?php
    session_start();
    $_SESSION['rank'] = "ok";
    header("location:index.php");
    ?>
    index.php文件
    <frameset rows="116,*" cols="*" frameborder="NO" border="0" framespacing="0">
      <frame src="top.php" name="topFrame" scrolling="NO" noresize >
      <frameset rows="*" cols="200,*" framespacing="0" frameborder="NO" border="0">
        <frame src="left.php" name="leftFrame" scrolling="NO" noresize>
        <frame src="mian.php" name="mainFrame">
      </frameset>
    </frameset>left.php文件
    <table width="150" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr> 
        <td height="20"><div align="center"><a href="mian.php" target="mainFrame">test</a></div></td>
      </tr>
      <tr> 
        <td height="20"><div align="center"><a href="mian.php" target="mainFrame">test</a></div></td>
      </tr>
    </table>main.php文件
    <?php
    session_start();
    if (isset($_SESSION['rank']))
    echo $_SESSION['rank'];
    else
    echo "error";
    ?>开始登录进去main.php显示ok,点击left.php里的test连接几次后main.php就显示error了
      

  9.   

    try:
    在每一部分都加上一个
    <?php
    session_start();
    ?>