密码登录其实有很多种方法,但你所说的通过session,我不知道是什么意思,你是想记录登录信息吗?
通过session记录登记信息,一种是记录在磁盘上(cookie),一种是记录在数据库中(如mysql),一些大型的cgi程序一般采用后面的方法。但一般都采用较为复杂的编码处理,视你的安全性要求而定。

解决方案 »

  1.   

    楼上的兄弟,我是程序和思路都缺。我现自己写了份源代码
    <?php
    session_start(); 
    $conn=odbc_connect("test","sa","");
    $query="select USERNAME from MEMBERS where USERNAME='$USERNAME' and PASSWORD='$PASSWORD' "; 
    $result_id = odbc_do($conn, $query);
    if($row=odbc_fetch_row($result_id)) 

    $reguser=$row[0]; 
    print $reguser;?> 
    <script> 
    alert("ok,哥们,欢迎你!"); 
    </script> 
    <? 

    else 

    $reguser=""; 
    ?> 
    <script> 
    alert("sorry,你不是注册用户!"); 
    </script> 
    <? 

    session_register("reguser"); 
    ?> 可总告诉我,你不是注册用户!为什么?这究竟是为什么??????????
      

  2.   

      各位我是程序和思路都想要(通过session记录登记信息),另外希望各位能够讲解一下session的用法!谢谢
      

  3.   

    我也正在做这个,采用php+mysql,现在正在测试,做完了给你一个,顺便帮我测试一下。
      

  4.   

    <?phpsession_start();if ($PHP_AUTH_USER=="" or $PHP_AUTH_PW=="") {
    Header("WWW-Authenticate: Basic realm=\"密码认证\"");
    Header("HTTP/1.0 401 Unauthorized");
    $login_flag = 0;
    require("./include/denied.php");
    exit;
    } require "./include/db_server.cfg.php";
    $db_id = mysql_connect($Server_host, $Server_user, $Server_passwd) or die("无法连接到指定的数据库!");
    mysql_select_db($Server_db, $db_id) or die("不能使用指定的数据表!");
    $query = "select ID, password, auth_bit from userauth where username='$PHP_AUTH_USER'";
    $result = mysql_query($query, $db_id) or die("使用数据表时发生错误!");
    mysql_close($db_id);if (mysql_num_rows($result)==0) {
      Header("WWW-Authenticate: Basic realm=\"密码认证\"");
    Header("HTTP/1.0 401 Unauthorized");
    $login_flag = 1;
    require("./include/denied.php");
    exit;
    }$row = mysql_fetch_array($result);
    if ($PHP_AUTH_PW!=$row[password]) {
    Header("WWW-Authenticate: Basic realm=\"密码认证\"");
    Header("HTTP/1.0 401 Unauthorized");
    $login_flag = 2;
    require("./include/denied.php");
    exit;
    }if ($row[auth_bit]==0x0) {
    $login_flag = 3;
    require("./include/denied.php");
    exit;
    }if (!session_is_registered("auth_bit")) {
    $auth_bit=$row[auth_bit];
    session_register("auth_bit");
    }
    ?>
      

  5.   

    上面是auth.inc.php文件,这个思路就是把所有不合法的用户全部交给denide.php处理,通过$login_flag传递登陆出错的原因,然后exit()终止执行后面的代码,如果通过认证就注册一个auth_bit的session,以后凡是要检验合法用户的在页面的最前面加入if (!session_is_registered("auth_bit")) require("./include/auth.inc.php");
    就可以了。另外,db_server.cfg.php的内容如下:
    <?php
    $Server_host = "your_server";
    $Server_user = "your_username";
    $Server_passwd = "your_password";
    $Server_db = "your_database";
    ?>发现问题请联系[email protected]