发布网友 发布时间:2024-12-13 07:05
共1个回答
热心网友 时间:2024-12-14 08:10
rs.open exec,conn '打开记录集 if not rs.eof then其实从这一句开始判断的,如果没有查询到记录集的末尾那么,意思就是所填写的登陆名和密码在数据库中存在,则(往下执行) rs.Close关闭记录集 conn.Close关闭数据库连接 session("checked")="yes"写进session值,checked=yes,意思是检查通过 session("check")="right"同上 response.Redirect "index.asp"转到index的页面 else如果查询到记录集的末尾,说明数据库中没有登录名与提交的匹配 session("checked")="no"写进session值,checked=no,意思是检查不通过 session("check")="wrong"同上 response.Redirect "login.asp"转到登陆的页面 end if结束 %> 因为sql语句是select *from check where(name='"&name&"' and password='"&password&"')" 就是从数据库中查询出名字等于上页提交的名字,密码等于上页提交的密码!所以只需要检测记录集的游标是否到底就行了,如果到底了,说明没有!如果没到底,就说明存在! 补充一下:这样写的代码很不安全,黑客会通过'or''='或者'or'='or'等万能密码进入的,建议把传递过来的name过滤一下 name=replace(name,"'","") 兄弟,我敲了这么多字,该给分了吧!呵呵!