asp 高手来下

来源:百度知道 编辑:UC知道 时间:2024/05/12 04:47:08
处理页面
<%
dim admin,pass,sql
admin=request.form("admin")
pass=request.form("pass")
if admin<>"" and pass<>"" then
set rs=server.CreateObject("adodb.recordset")
sql="select * from admin where admin='"&admin&"' and pass='"&pass&"' and id=2 "
rs.open sql,conn,1,3
if not rs.eof then
%>
<script>
alert("你输入的用户名或密码不正确")
location.href="login.asp"
</script>
<%
else
session("admin")=rs("admin")
session("pass")=rs("pass")
response.Redirect("index.asp")
end if
end if
%>
如果都成功就跳转到index.asp
index.asp的代码如下:
<%
if session("admin") or session("pass")="" then
response.redirect ("login.asp")
end if
%><

看一下你的结构:
if not rs.eof then
先问一下,如果不是rs.eof只能证明是找到了记录,应该是登陆成功的!
而其else条件就是rs.eof也就是说此时只有找不到记录,你倒好,找不到记录让登陆,找到记录则弹出一个对话框告诉登陆者输入的密码不正确,请问你如何能登陆得上?

一楼二楼还改来改去的,再改也找不到结果的!想登陆正确很简单,将你的if条件写成:
if rs.bof and rs.eof then
或者直接使用
if rs.eof then
这样你就可能登陆了,否则是登陆不了的,至于小毛病,以后还是不犯的好!

sql="select * from admin where admin='"&admin&"' and pass='"&pass&"' and id=2 "

Sql重新写一下。

sql="select * from admin where admin='"&admin&"' and pass='"&pass&"' "

index.asp中的代码有问题:
<%
if session("admin") or session("pass")="" then //a
response.redirect ("login.asp")
end if
%>
a处语句应改为: if session("admin")="" or session("pass")="" then
回答完毕。

你写错了
应该反过来
if not rs.eof then 改成 if rs.eof then