晕,你3句代码写了多少遍?faint!

解决方案 »

  1.   

    没有看到session的影子,用session来做认证吧。
      

  2.   

    setcookie('var_name', 'var_value', 0, "/")
    if(isset($_COOKIE['var_name']))
        // 已经登陆
    cookie会在用户关闭浏览器时失效。
      

  3.   

    根据你的原代码作了一点改动,看一下行不行,加上了session,如果还有问题就再说。//这是文件auth.inc  
    /*验证用户身份信息*/ 
    session_start();
    if(!isset($PHP_AUTH_USER))  
    {  
    echo "您没有输入用户名,您无权登录到本站!";  
    exit();  
    }  
    /*连接数据库*/  
    else 
    {  
    include('config.php');  
        /*查询用户是否存在*/  
    $query1 = "select password,enable from access where username='$PHP_AUTH_USER' "; 
    $result = mysql_query($query1);
    $nums = mysql_num_rows($query1);
    if($nums==0)  
    {    
    echo "身份验证失败,您没有在本站注册!"; 
    exit();  

    else 

    $row   = mysql_fetch_array($result);
    $password = $row['password']; 
    $enable   = $row['enable']; 
    if($enable==0) 
    {
    echo "你没有访问权限"; 
    exit();

    //此处密码没有加密,不安全
    elseif ($password!=$PHP_AUTH_PW) 
    {                                         
    echo "身份验证失败,您无权登录到本站!";  
    exit();  
    }
    else {
    //注册用户名为session,并转向欢迎页面
    $_SESSION['username']=$PHP_AUTH_USER;
    header("location: welcome.php");
    }

    }
      

  4.   

    虽然都写的不错,但是好象我的问题还没有解决!效果就是:WWW-Authenticate:Basic realm这种验证方法,关闭浏览器或者用户注销将用户信息关闭!就这样,大家帮帮忙,因为我一直没有用SESSION所以假如现在要用的话,将花费更多的时间!谢谢!
      

  5.   

    注销用以下的代码:
    Header("WWW-Authenticate: Basic realm=\"身份验证\", stale=FALSE");
    应该怎样完善!
      

  6.   

    如果只有这一页的话那就在<body>里写OnUnload='script:location.href=logoff.php'
    (忘了是怎么用的了,查一下JavaScript手册吧)//---logoff.php---
    Header("WWW-Authenticate: Basic realm=\"身份验证\", stale=FALSE");
      

  7.   

    这位大哥,php中那么好的session不用,非要用apache带的那不成熟的用户认证呢,还是花点时间学学session吧,那对你以后会有好处的,不要偷懒了,你只要选择了计算机,选择了编程,那你就注定了每时每刻都要学习,否者你只有选择退出的分了。还是多下点功夫学习吧。
      

  8.   

    session有什么不好吗, 也花不到你好多时间来写代码啊。 就那么几个函数。
      

  9.   

    实话说,对于用户断线,离线的问题本来就不可能都判断出来的,用SESSION也不行。
      

  10.   

    那么就给这个SESSION一个有效时间,,如果多少分钟没有任何动静就KILL
      

  11.   

    请问怎么实现过几分钟没有任何动静就KILL啊?
      

  12.   

    看看这一篇,如果哪位有空,帮忙回一下,我好结帖。
    http://expert.csdn.net/Expert/topic/1719/1719531.xml?temp=.6571161
    在程序最后一行加上mysess_gc(300);那么就是指在五分钟后清楚session.