各位大哥,帮忙看一看,我的用户名验证代码有什么问题?
Set cnn=Server.CreateObject("ADODB.Connection")Set rec=Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString="Driver={Microsoft Access Driver (*.mdb)};Uid=dwdjq;Pwd=789963;DBQ="&Server.MapPath("xueshengzhuce.mdb")
cnn.Open
dim sql
sql="select * from zhuce where yonghuming= '"&request.form("yonghuming")&" 'and mima= '"&request.form("mima")&" '"
rec.Open sql,cnn,3,3
if rec.RecordCount >0 then
if rec.fields("yonghuming")=request.form("yonghuming") AND rec.fields("mima")=request.form("mima") AND rec.fields("yanzheng") < >empty then
Session("id")="yonghuming"
set rec=nothing
set cnn=nothing
response.redirect"yinianji.html"
end if
end if
response.write "用户名和密码不对!"
set rec=nothing
set cnn=nothing
% >
总是出现“用户名和密码不对!”,可我输入的是正确的用户名和密码。
在线等。 大侠帮忙啊!
--------------------编程问答--------------------
<%
Set cnn=Server.CreateObject("ADODB.Connection")
Set rec=Server.CreateObject("ADODB.Recordset")
cnn.ConnectionString="Driver={Microsoft Access Driver(*.mdb)};Uid=dwdjq;Pwd=789963;DBQ="&Server.MapPath("xueshengzhuce.mdb")
cnn.Open
'response.write cnn,state'看看是否连上数据库 1--是 0--否
dim sql ,uName,uPwd
uName=trim(request.form("yonghuming"))
uPwd=trim(request.form("mima"))
sql="SELECT * FROM zhuce WHERE yonghuming='"&uName&"' AND mima='"&uPwd&"' AND yanzheng IS NOT NULL"
rec.Open sql,cnn,1,1
if not (rec.rof and rec.bof) then
Session("id")="yonghuming"
rec.close
set rec=nothing
cnn.close
set cnn=nothing
response.redirect"yinianji.html"
response.end
else
response.write "用户验证失败!"
end if
else
response.write "用户验证失败!"
end if
if rec.state<>0 then rec.close: set rec=nothing
%>
---------------------------
你的SQL语句"'and mima= '"&request.form("mima")&" '"--> ' 和and之间少了空格,另外一次判断就够了(字段yanzheng也一起放进去查询) --------------------编程问答-------------------- 按你的代码还是不行呀!
代码中是“if not (rec.rof and rec.bof) then” 时,总是显示"用户验证失败!" 把代码改成“if (rec.rof and rec.bof) then”,就不用密码就能登陆。
大侠帮忙分析一下吧。
补充:VB , 数据库(包含打印,安装,报表)