以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  登录页面,内部函数验证后,不登录,是不是需要返回什么值?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98087)

--  作者:zhangjian222200
--  发布时间:2017/3/23 20:32:00
--  登录页面,内部函数验证后,不登录,是不是需要返回什么值?
我的问题:登录页面,需要验证手机号、密码、验证码是否为空,调用函数后,发现执行valid_login内部函数后,不执行后面的登录代码了,是不是需要验证页面返回什么值?

httprequest的代码逻辑说明:这样设置不需要验证的页面后,当不执行验证登录页面手机号、密码、验证码是否为空时,登录成功,1~7连续执行
if 
     e.path =    “需要验证的页面” 
else 
     e.path = “不需要验证的页面” 
end if

以下是httprequest事件代码:
Select Case e.Path
    Case "valid_login.htm"                                \'调用,登录_验证手机号、密码、验证码是否为空页面
        Functions.Execute("valid_login",e)
End Select

If e.Path = "login.htm" Then                           ’这以下是登录验证代码
    Dim wb As New weui      
    msgbox(1)
    \'身份验证
    Dim Verified As Boolean \'用于标记用户是否通过了身份验证
    Dim UserName As String = e.Cookies("isj") \'从cookie中获取用户名
    Dim Password As String = e.Cookies("imm") \'从cookie中获取用户密码
    msgbox(2)
    If e.Path = "login.htm" \'如果是通过登录页面访问,从PostValues即可中提取用户名和密码
        msgbox(3)
        If e.PostValues.ContainsKey("isj") AndAlso e.PostValues.ContainsKey("imm")  Then
            msgbox(4)
            UserName = e.PostValues("isj")
            Password = e.PostValues("imm")
        End If
    End If
    If e.Cookies.ContainsKey("isj") = False OrElse e.Cookies.ContainsKey("imm") = False Then
        msgbox(5)
        Dim dr As DataRow = DataTables("会员资料").Find("手机 = \'" & UserName & "\'")
        If dr IsNot Nothing AndAlso dr("密码") = Password Then
            msgbox(6)
            Verified  = True
        End If
    End If
    If Verified AndAlso e.Path = "login.htm"  Then \'如果用户访问的是登录页,且身份验证成功
        msgbox(7)
        wb.AppendCookie("isj",UserName) \'将用户名和密码写入cookie
        wb.AppendCookie("imm",Password)
        wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'直接跳转到首页
        e.WriteString(wb.Build) \'生成网页
        Return \'必须的
    ElseIf Verified = False AndAlso e.Path <> "login.htm" Then \'如果用户身份验证失败,且访问的不是登录页面
        msgbox(8)
        wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'那么直接跳转到登录页面
        e.WriteString(wb.Build) \'生成网页
        Return \'必须的
    End If
    Select Case e.Path
        Case "login.htm"                                        \'登录页面
            Functions.Execute("login",e)
        Case ****其他页面
    End Select
Else
    Select Case e.Path
        Case "index.htm"                                      \'首页
            Functions.Execute("index",e)

        Case ****其他页面
    End Select
End If

以下是内部函数valid_login的代码:能够正常验证,是不是需要返回什么值?
Dim e As RequestEventArgs = args(0)                             \'验证页面(登录页面)
Select Case e.Path
    Case "valid_login.htm"
        Dim wb As New weui
        Dim shoujh As String = e.PostValues("isj") \'验证手机是否空值
        msgbox(shoujh)
        Dim mim As String = e.PostValues("imm") \'验证密码是否空值
        msgbox(mim)
        Dim cookie_yzm As String = e.Cookies("yanzhengma") \'从cookie中获取验证码
        \'msgbox(e.Cookies("yanzhengma"))
        \'msgbox(cookie_yzm)
        Dim yanzm As String = e.PostValues("yzm") \'验证_验证码
        msgbox(yanzm)
        If shoujh = "" Then
            e.WriteString("手机不能为空!")
            Return ""
        ElseIf mim = "" Then
            e.WriteString("密码不能为空!")
            Return ""
        ElseIf yanzm = "" Then
            e.WriteString("验证码不能为空!")
            Return ""
        ElseIf yanzm <> "" AndAlso yanzm.Length <> 4 Then
            e.WriteString("请输入正确的验证码!")
            Return ""
        ElseIf yanzm <>  cookie_yzm Then
            msgbox(123)
            e.WriteString("请输入正确的验证码!")
            Return ""
        End If
End Select

以下是js文件代码:
function validit_login(){
    var result=submitAjaxFileds("valid_login.htm","","isj","imm","yzm",false);
    if(result=="OK"){
        return true;
    }
    else{
        showTopTips("toptip1",result,2000);
        return false;
    }
}
[此贴子已经被作者于2017/3/23 20:33:45编辑过]

--  作者:有点色
--  发布时间:2017/3/23 22:24:00
--  
 思路有问题。登陆那里的form,action跳转到首页去,如果验证成功给js返回OK,然后js然会true啊
--  作者:zhangjian222200
--  发布时间:2017/3/23 23:20:00
--  
没看懂,action是什么?如果验证登录页面手机、密码、验证码、保存密码,在什么地方验证合适
--  作者:有点色
--  发布时间:2017/3/23 23:35:00
--  

这里 Functions.Execute("login",e)

 

里面的代码,如果成功,跳转到另一个也啊。