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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)