u011608495 2016-02-01 03:14 采纳率: 0%
浏览 1480

ASP源码问题,添加if语句后无法打开,求帮助

 原版:
<%
dim sql,rs
dim username,password,CheckCode
username=replace(trim(request("username")),"'","")
password=replace(trim(Request("password")),"'","")
CheckCode=replace(trim(Request("CheckCode")),"'","")
if UserName="" then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>用户名不能为空!</li>"
end if
if Password="" then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>密码不能为空!</li>"
end if
if CheckCode="" then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>验证码不能为空!</li>"
end if
if session("CheckCode")="" then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>你登录时间过长,请重新返回登录页面进行登录。</li>"
end if
if CheckCode<>CStr(session("CheckCode")) then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>您输入的确认码和系统产生的不一致,请重新输入。</li>"
end if
if FoundErr<>True then
    password=md5(password)
    set rs=server.createobject("adodb.recordset")
    sql="select * from Admin where password='"&password&"' and username='"&username&"'"
    rs.open sql,conn,1,3
    if rs.bof and rs.eof then
        FoundErr=True
        ErrMsg=ErrMsg & "<br><li>用户名或密码错误!!!</li>"
    else
        if password<>rs("password") then
            FoundErr=True
            ErrMsg=ErrMsg & "<br><li>用户名或密码错误!!!</li>"
        else
            RndPassword=GetRndPassword(16)
            rs("LastLoginIP")=Request.ServerVariables("REMOTE_ADDR")
            rs("LastLoginTime")=now()
            rs("LoginTimes")=rs("LoginTimes")+1
            rs("RndPassword")=RndPassword
            rs.update
            session.Timeout=SessionTimeout
            session("AdminName")=rs("username")
            session("AdminPassword")=rs("Password")     
            session("RndPassword")=RndPassword
            rs.close
            set rs=nothing
            call CloseConn()
            Response.Redirect "default.asp"
        end if
    end if
    rs.close
    set rs=nothing
end if
if FoundErr=True then
    call WriteErrMsg()
end if
call CloseConn()

修改后:
<%
dim sql,rs
dim username,password,CheckCode,Group
username=replace(trim(request("username")),"'","")
password=replace(trim(Request("password")),"'","")
CheckCode=replace(trim(Request("CheckCode")),"'","")
if UserName="" then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>用户名不能为空!</li>"
end if
if Password="" then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>密码不能为空!</li>"
end if
if CheckCode="" then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>验证码不能为空!</li>"
end if
if session("CheckCode")="" then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>你登录时间过长,请重新返回登录页面进行登录。</li>"
end if
if CheckCode<>CStr(session("CheckCode")) then
    FoundErr=True
    ErrMsg=ErrMsg & "<br><li>您输入的确认码和系统产生的不一致,请重新输入。</li>"
end if
if FoundErr<>True then
    password=md5(password)
    set rs=server.createobject("adodb.recordset")
    sql="select * from Admin where password='"&password&"' and username='"&username&"'"
    rs.open sql,conn,1,3
    if rs.bof and rs.eof then
        FoundErr=True
        ErrMsg=ErrMsg & "<br><li>用户名或密码错误!!!</li>"
    else
        if password<>rs("password") then
            FoundErr=True
            ErrMsg=ErrMsg & "<br><li>用户名或密码错误!!!</li>"
        sql="select * from Admin where Group='"&Group&"'"
        RndPassword=GetRndPassword(16)
            rs("LastLoginIP")=Request.ServerVariables("REMOTE_ADDR")
            rs("LastLoginTime")=now()
            rs("LoginTimes")=rs("LoginTimes")+1
            rs("RndPassword")=RndPassword
            rs.update
            session.Timeout=SessionTimeout
            session("AdminName")=rs("username")
            session("AdminPassword")=rs("Password")     
            session("RndPassword")=RndPassword
            rs.close
            set rs=nothing
            call CloseConn()
        else 
            if rs("Group")="Admin" then 

                Response.Redirect "Default_admin.asp"
                else 
                    if rs("Group")="HR" then
                    Response.Redirect "default_HR.asp"
                        else
                            if rs("Group")="SD" then 
                            Response.Redirect "default_Sd.asp"
                                else            
                                    Response.Redirect "default.asp"


        end if
    end if
end if
if FoundErr=True then
    call WriteErrMsg()
end if
call CloseConn()

以下部分为新增的:

        else 
            if rs("Group")="Admin" then 

                Response.Redirect "Default_admin.asp"
                else 
                    if rs("Group")="HR" then
                    Response.Redirect "default_HR.asp"
                        else
                            if rs("Group")="SD" then 
                            Response.Redirect "default_Sd.asp"
                                else            
                                    Response.Redirect "default.asp
我想根据数据库中查询的所属组别,判断应该打开什么页面。
  • 写回答

1条回答

  • Go 旅城通票 2016-02-01 03:19
    关注

    ....贴一堆代码,修改了哪里也不标注下,你要做跳转不知道自己response.redirect前判断下数据库记录中的值,进行分别跳转

    评论

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突