CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

跪求高人指点--身份验证代码

楼主pretty_yang(错乱和尚)2004-12-01 23:06:32 在 Web 开发 / ASP 提问

哪位大哥指点一下啊,很简单的身份验证程序,小弟是第一次写,总是出错,哪位给调试一下,再给个解释,谢谢了!!我的check.asp是这样写的:  
  <!--#include   file=conn.asp-->  
  <%  
        dim   sql,rs,user_name,password  
        user_name=trim(request("name"))  
        password=trim(Request("password"))  
        set   rs=server.createobject("adodb.recordset")  
  sql="select   *   from   users   where   password='"&password&"'   and   username='"&user_name&"'"  
  rs.open   sql,conn  
  if   not(rs.bof   and   rs.eof)   then  
    if   password=rs("password")   and   username=rs("user_name")   then  
        session("user_name")=rs("user_name")  
        Response.Redirect   "index.asp"  
  else    
          response.Write   "用户名或密码错误<br>"  
  response.Write   "<a   href='login.asp'>返回修改"  
  end   if  
  else  
            response.Write   "用户名或密码错误<br>"  
    response.Write   "<a   href='login.asp'>返回修改"  
  end   if  
  %>  
  login.asp   代码如下:  
  <html>  
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <title>用户登陆</title>  
  <body>  
                  <h2   align="center">用户登陆</h2>  
  <form   method="post"   action="check.asp">  
  <table   border="0"   width="30%"   bgcolor="#99CCFF"   align="center">  
        <tr>  
                <td>姓&nbsp;名:   <input   type="text"   name="name"   size="20"></td>  
        </tr>  
          <tr>  
        <td>密&nbsp;码:<input   type="password"   name="password"   size="20"></td>  
  </tr>  
          <tr>  
          <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input   type="submit"   value="确定">&nbsp;&nbsp;<input   type="reset"   value="重填"></td>  
  </tr>  
   
  </table>  
   
  </form>  
  </body>  
  </html>  
   
  这是数据库连接文件:  
  <%  
        dim   db,connstr  
        connstr="dbq="&server.mappath("bbs.mdb")&";driver={microsoft   access   driver   (*.mdb)};"  
        set   db=server.CreateObject("adodb.connection")  
        db.open   connstr  
  %> 问题点数:50、回复次数:16Top

1 楼lienzhu(李强)回复于 2004-12-01 23:12:37 得分 50

rs.open   sql,conn,3  
  Top

2 楼pretty_yang(错乱和尚)回复于 2004-12-01 23:14:37 得分 0

还是不行。报错为:  
  错误类型:  
  ADODB.Recordset   (0x800A0BB9)  
  参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。  
  /home/bbs/check.asp,   第   8   行  
  Top

3 楼lienzhu(李强)回复于 2004-12-01 23:16:01 得分 0

也可以把  
      set   rs=server.createobject("adodb.recordset")  
  sql="select   *   from   users   where   password='"&password&"'   and   username='"&user_name&"'"  
  rs.open   sql,conn  
   
   
  换成  
   
  sql="select   *   from   users   where   password='"&password&"'   and   username='"&user_name&"'"  
  set   rs=conn.execute(sql)  
   
  Top

4 楼lienzhu(李强)回复于 2004-12-01 23:18:22 得分 0

<%  
        dim   conn,connstr  
        connstr="dbq="&server.mappath("bbs.mdb")&";driver={microsoft   access   driver   (*.mdb)};"  
        set   conn=server.CreateObject("adodb.connection")  
        conn.open   connstr  
  %>  
  Top

5 楼pretty_yang(错乱和尚)回复于 2004-12-01 23:23:01 得分 0

conn.asp和check.asp都按   lienzhu(李强)   大哥的改了,还是抱错  
  错误类型:  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E10)  
  [Microsoft][ODBC   Microsoft   Access   Driver]   参数不足,期待是   1。  
  /home/bbs/check.asp,   第   7   行Top

6 楼cheng17(+天空+)回复于 2004-12-01 23:29:21 得分 0

rs.open   sql,conn,1,1Top

7 楼lienzhu(李强)回复于 2004-12-01 23:32:57 得分 0

sql="select   *   from   users   where   password='"&password&"'   and   username='"&user_name&"'"  
  response.write   sql  
  response.end  
  '输出sql语句看看  
  set   rs=conn.execute(sql)  
  Top

8 楼lienzhu(李强)回复于 2004-12-01 23:34:59 得分 0

user_name=trim(request.form("name"))  
        password=trim(Request.form("password"))Top

9 楼lienzhu(李强)回复于 2004-12-01 23:52:36 得分 0

check.asp  
   
  <!--#include   file=conn.asp-->  
  <%  
  dim   sql,rs,user_name,password,errcode  
  user_name=trim(request("name"))  
  password=trim(Request("password"))  
  errcode=0  
  if   user_name=""   or   password=""   then  
  errcode=1  
  else  
  set   rs=server.createobject("adodb.recordset")  
  sql="select   *   from   users   where   password='"   &   checkstr(password)   &   "'   and   username='"   &   checkstr(user_name)   &   "'"  
  set   rs=conn.execute(sql)  
  if   not(rs.bof   and   rs.eof)   then  
  session("user_name")=rs("user_name")  
  else    
  errcode=2  
  end   if  
  end   if  
  rs.close  
  set   rs=nothing  
  call   closedatabase()  
  if   errcode=0   then  
  Response.Redirect   "index.asp"  
  else  
  response.Write   "用户名或密码错误<br>"  
  response.Write   "<a   href='login.asp'>返回修改"  
  end   if  
  %>  
  ------------------------------------------------------------------------------  
  conn.asp  
  <%  
  dim   conn,connstr  
  connstr="dbq="&server.mappath("bbs.mdb")&";driver={microsoft   access   driver   (*.mdb)};"  
  set   conn=server.CreateObject("adodb.connection")  
  conn.open   connstr  
  function   closeDatabase()  
  conn.close  
  set   conn   =   nothing  
  end   function  
  function   checkStr(str)  
  if   isnull(str)   then  
  checkStr   =   ""  
  exit   function    
  end   if  
  str   =   Replace(str,   Chr(0),   "")  
  checkStr=replace(str,"'","''")  
  end   function  
  %>  
   
  Top

10 楼pretty_yang(错乱和尚)回复于 2004-12-02 00:09:49 得分 0

还是不行啊Top

11 楼pretty_yang(错乱和尚)回复于 2004-12-02 00:11:57 得分 0

错误类型:  
  Microsoft   VBScript   运行时错误   (0x800A01A8)  
  缺少对象:   ''  
  /home/bbs/check.asp,   第   7   行Top

12 楼lienzhu(李强)回复于 2004-12-02 00:14:31 得分 0

先更正一下  
  end   if  
  rs.close  
  set   rs=nothing  
  为  
  rs.close  
  set   rs=nothing  
  end   ifTop

13 楼lienzhu(李强)回复于 2004-12-02 00:25:03 得分 0

session("user_name")=rs("username")  
  测试通过  
   
  <%  
  dim   conn,connstr  
  connstr="dbq="&server.mappath("bbs.mdb")&";driver={microsoft   access   driver   (*.mdb)};"  
  set   conn=server.CreateObject("adodb.connection")  
  conn.open   connstr  
  function   closeDatabase()  
  conn.close  
  set   conn   =   nothing  
  end   function  
  function   checkStr(str)  
  if   isnull(str)   then  
  checkStr   =   ""  
  exit   function    
  end   if  
  str   =   Replace(str,   Chr(0),   "")  
  checkStr=replace(str,"'","''")  
  end   function  
  %>  
  check.asp  
  <!--#include   file=conn.asp-->  
  <%  
  dim   sql,rs,user_name,password,errcode  
  user_name=trim(request("name"))  
  password=trim(Request("password"))  
  errcode=0  
  if   user_name=""   or   password=""   then  
  errcode=1  
  else  
  set   rs=server.createobject("adodb.recordset")  
  sql="select   *   from   users   where   password='"   &   checkstr(password)   &   "'   and   username='"   &   checkstr(user_name)   &   "'"  
  set   rs=conn.execute(sql)  
  if   not(rs.bof   and   rs.eof)   then  
  session("user_name")=rs("username")  
  else    
  errcode=2  
  end   if  
  rs.close  
  set   rs=nothing  
  end   if  
  call   closedatabase()  
  if   errcode=0   then  
  Response.Redirect   "index.asp"  
  else  
  response.Write   "用户名或密码错误<br>"  
  response.Write   "<a   href='login.asp'>返回修改"  
  end   if  
  %>  
  Top

14 楼lienzhu(李强)回复于 2004-12-02 00:29:42 得分 0

数据库中是username   还是   user_name   我是按   username写的  
  Top

15 楼pretty_yang(错乱和尚)回复于 2004-12-02 00:31:17 得分 0

数据库中是user_name,我试试,先谢谢这位大哥了Top

16 楼pretty_yang(错乱和尚)回复于 2004-12-02 00:33:59 得分 0

终于搞定了,谢谢了大哥!!!!Top

相关问题

  • 求使用SQL库的身份验证代码?
  • 身份验证
  • 如果MSSQL的登陆验证是采用的WINDOWS身份验证,那么JDBC怎么写代码?在线等
  • 谁能给我一个身份验证的代码,ADO+ACCESS!为盼,为感!
  • 高分求够用户身份验证的框架和源代码!
  • 谁能提供一段身份证验证js代码,非常感谢…………
  • 用Web Services怎么样验证用户身份登陆?小弟不才,请各位大虾指点。
  • 代码在这,请指点
  • 请高人指点代码~~~~~~~
  • windows身份验证

关键词

  • 验证
  • 身份验证
  • 哪位

得分解答快速导航

  • 帖主:pretty_yang
  • lienzhu

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo