用asp做的用户登录系统,为什么用户名两位以上就无法连接access数据库了?

用asp做的用户登录系统,为什么用户名两位以上就无法连接access数据库了?就显示登录不成功,但是数据库中有相关的数据记录啊login.asp<%setconn=ser... 用asp做的用户登录系统,为什么用户名两位以上就无法连接access数据库了?就显示登录不成功,但是数据库中有相关的数据记录啊
login.asp
<% set conn=server.createobject("ADODB.Connection")
conn.open="provider=microsoft.jet.oledb.4.0;data source=E:\zztbxt\zdtbxt.mdb"%>
<% exec="select * from nsrjbxx" set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1 %> <% session("nsrsbh")=request.Form("nsrsbh")
if session("nsrsbh")=rs("sbh") then
response.write"<script>alert('登录成功');location.href='default.asp'</script>"
else response.write"<script>alert('登录失败,按确定返回重新登陆');location.href='default.html'</script>" end if%>
default.asp
<%set conn=server.createobject("adodb.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\zztbxt\zdtbxt.mdb"%>
<%exec="select * from nsrjbxx" set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1 %><%if session("nsrsbh")=rs("sbh") then%>
<form action="" >=rs("sbh")%>
default.html
<input name="nsrsbh" type="text" id="nsrsbh" size="18" maxlength="18" />

谢谢大家
展开
 我来答
启智思维
2011-05-15 · TA获得超过3416个赞
知道小有建树答主
回答量:1578
采纳率:0%
帮助的人:652万
展开全部
exec="select * from nsrjbxx"
这句改成
exec="select * from nsrjbxx where sbh='"&trim(request.Form("nsrsbh")
)&"'"
dwwnzb
2011-05-18 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:132
采纳率:100%
帮助的人:61.8万
展开全部
你是不是在验证用户登录信息是否正确的时候,设置了登录用户账号的长度?

这个设置跟你数据库中的文本长度不一样,是页面你手动设置的

<% exec="select * from nsrjbxx" set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1 %> <% session("nsrsbh")=request.Form("nsrsbh")
if session("nsrsbh")=rs("sbh") then

这段代码中,if 里,你是要判断密码是否正确吧?表格中只有1个用户吗?

如果只有1个用户还可以,可是如果有2个的话就会出错了

建议,exec 中,加个where ,限制查询语句中用户名锁定为你当前输入的用户名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vping9211
2011-05-13 · 超过47用户采纳过TA的回答
知道答主
回答量:139
采纳率:0%
帮助的人:128万
展开全部
最好吧代码贴出来,大家才能帮你。最好使用response.write 显示出来,后面使用response.end中断。一个个变量值进行检查,看看问题出在哪里。 比如你要看获取的用户username则加入:
<%
set conn=server.createobject("ADODB.Connection")
conn.open="provider=microsoft.jet.oledb.4.0;data source=E:\zztbxt\zdtbxt.mdb"
exec="select * from nsrjbxx" set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
session("nsrsbh")=request.Form("nsrsbh")
response.write request.form("nsrsbh") '这里加上代码,看看输出的nsrsbh值是否为空,这个值从哪个页面传递过来的
response.end '这里设置执行断点调试
if session("nsrsbh")=rs("sbh") then
response.write"<script>alert('登录成功');location.href='default.asp'</script>"
else
response.write"<script>alert('登录失败,按确定返回重新登陆');location.href='default.html'</script>"
end if%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zuo_wenping
2011-05-13 · 超过11用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:32.5万
展开全部
你看下你的数据表,这个字段的属性是什么啊?是不是冲突啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式