check_login问题! asp

来源:百度知道 编辑:UC知道 时间:2024/06/16 15:07:12
源代码如下:

总是不能检查密码的正确性,也得不到re_user("name")

随便输入密码都说正确,而且,不输入的时候检查到没有密码后紧接着就提示登录成功....
<%
Dim vname,vpassword,i
Refer= Request.ServerVariables("HTTP_REFERER")
If request.Form("name")="" Or request.Form("password")="" Then
response.write " <script language=javascript>alert('对不起!您没有输入用户名或密码!');history.back(-1) </script>"
End if
vname=request.form("name")
vpassword=request.form("password")
For i=1 To 5
vpassword=md5(vpassword)
Next
Set rs_user = Server.CreateObject("ADODB.Recordset")
sql="select * from user where name in ('"&vname&"')"
rs_user.open sql,conn,1,2
%>

<%
If rs_user("password")=vpassword Then
session("login")="yes"
session("user_name")=rs_user("name&q

首先:
For i=1 To 5
vpassword=md5(vpassword)
Next
这个地方为什么要循环??
其次:
sql="select * from user where name in ('"&vname&"')"
这个地方为什么要用in

以下是一个比较完整的登录检查代码:

dim adm_user,username,pwd
username=request.form("UserName")
pwd=request.form("Password")
call opendb()
set adm_user=conn.execute("select t1.adm_username,t1.Adm_Pwd,t1.id,t1.adm_group,t1.adm_islock,t2.Group_Name,t2.Group_Right from MCE_admin as t1 with (nolock) join MCE_AdminGroup as t2 with (nolock) on (t1.adm_group=t2.id) where t1.adm_UserName='"&username&"'",,1)
if adm_user.eof and adm_user.bof then
call showinfo("用户名或密码错误,请重新输入!","login.asp")
end if
if md5(pwd)<>adm_user("Adm_Pwd") then
call showinfo("用户名或密码错误,请重新输入!","login.asp")
end if
if adm_user("