我后台登陆验证,SESSION 验证的, 我在firefox6.0 下登陆一次,然后关闭浏览器后,再次打开FIREFOX 不会提示登录框,而是直接就显示了后台操作页面<?php
if($_SESSION["access"] <> '1')
{ header("location:login.php");
exit;}
?>这个是验证页面,在IE8.0下面有效的,IE 下面关闭浏览器后会重新显示登录页面

解决方案 »

  1.   

    关闭浏览器,只能说明他与服务端有效期内失去联系,并没有清除出服务端,不过你说的这两种浏览器不同结果,不知道是gc概率 还是程序或浏览器bug。。现在很多非IE浏览器不都有个默认记住密码么,它把cookie保存在cookie里也是说得过去的。具体什么情况,自己检查下吧。不懂了。。
      

  2.   

    它把SESSION保存在cookie。打错了。
      

  3.   

    session_start(); 这个是必须的
      

  4.   

    session_start();  前面一定得输出
    貌似觉得不是楼主代码问题
      

  5.   

    浏览器可以设置是否记录用户名密码。
    应该是登录的时候firefox记录了用户名密码。
      

  6.   

    应该是你的浏览器记录了session里面的信息。你可以看一下预定的保存时间,有些设置自动保存时间还是比较长的,你可以将他改短,还有就是写一个退出界面,destroy你的session,这下就没有问题了。
      

  7.   

    楼主在ff中你看见的对然是登陆的,但是那只是ff的恢复页面功能,你只要一操作那么它就会提示你登陆,这个和session没关系,只是ff的页面缓存起来了用来下次用户恢复页面用的
      

  8.   

    楼上说的在理,SESSION默认的生命周期就是截止到浏览器关闭的时候。
      

  9.   

    你操作的是ajax吧,如果带超级链接的是不会出现那种情况的,除非你那个被操作功能的方法没有判断权限
      

  10.   

    有判断权限啊,我echo session  的值发现就是1,关闭电脑后都是这样的
      

  11.   


    是啊,那就什么办法解决吗?? 可以关闭浏览后注销SESSION 吗
      

  12.   


    没发现你说的情况 一样是FF6.现在是最新的版本 6.011.php
    <?php
    session_start();
    $_SESSION["access"]='1';
    ?>
    2.php
    <?php
    session_start();
    if($_SESSION["access"] <> '1')
    {
    header("location:login.php");
    exit;
    }
    ?>
      

  13.   

    楼上的LOGIN.PHP 这个页面有吗? 测试过了??
      

  14.   


    只要在关闭浏览器后再打开 他执行跳转就行了 要不要login.php 有啥关系呢...当然测试过了。没测试过就不会回帖了.
     要么就是你的login.php没写好 根本就不是这个Session的问题..
      

  15.   

    那我把LOGIN.PHP 给你看<?php 
    include"../server.php";
    $char = $_SESSION['$char5'];
    if(isset($_POST["adminlogin"]))
    {
    $usename = $_POST["usename"];
    $loginname = $mz_mysql->mysql_give("select * from mzrui_member where name='$usename'");
    if(($_POST["usename"] == $loginname["name"]) && ($_POST["usepass"] == $loginname["pass"]) && ($loginname["root"] == '1'))
    {
    if($_POST["code"] == $char)
    {
    $_SESSION["access"] = 1;header("location:index.php");}
    else
    {echo ("<script>alert('对不起,验证码不对');</script>");}
    }
    else
    {
    echo ("<script>alert('对不起,用户名密码不对');</script>");
    }

    }
    ?>
      

  16.   

    这个是啥地方的
    <?php
    if($_SESSION["access"] <> '1')
    { header("location:login.php");
    exit;}
    ?>是登录界面的判断?登录界面的文件是?login.php 之后的界面index.php 是后台首页?另外 这个 $char = $_SESSION['$char5']; 是不是写错了?
      

  17.   


    这个sESSION  是验证码的
      

  18.   

    你重新打开浏览器后打开的是什么页面?登录页面? 另外 你这个 $char = $_SESSION['$char5']; 肯定是错误的写法吧?我知道是验证码.有这样写的?你验证码的页面看看定义变量是怎么定义的
      

  19.   


    重新打开浏览器就是我退出的页面验证码页面 
    $char5=$char1 . $char2 . $char3 . $char4;
    $_SESSION['$char5']=$char5;
      

  20.   


    然后关闭浏览器后,再次打开FIREFOX 不会提示登录框,而是直接就显示了后台操作页面重新打开浏览器就是我退出的页面啥意思呢?
      

  21.   


    firefox 不是有记录退出前的页面啊? 就是我关闭浏览器时是什么页面,打开就还是哪个页面啊