以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  httprequest1~7执行成功,但进入另外页面还是进入登录页面  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98339)

--  作者:zhangjian222200
--  发布时间:2017/3/28 11:32:00
--  httprequest1~7执行成功,但进入另外页面还是进入登录页面
1.进入其他页面提示1、2、8
2.下面粉色部分需要给2分钟时间,一样进入登录页面

下面是httprequest事件代码:
If e.Path = "login.htm" OrElse e.Path = "personal.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("会员资料").sqlFind("手机 = \'" & 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 "personal.htm"                                      \'个人中心
            Functions.Execute("personal",e)
        Case "login.htm"                                   \'登录页面
            Functions.Execute("login",e)
     end select
[此贴子已经被作者于2017/3/28 12:04:08编辑过]

--  作者:有点色
--  发布时间:2017/3/28 12:54:00
--  
单独做个例子上来测试。
--  作者:zhangjian222200
--  发布时间:2017/3/28 13:38:00
--  
1.login.htm登录后,httprequest事件1~7执行完,自动跳转到details.htm
2.在details.htm点击顶部“我的”,准备进入个人中心personal.htm,这时再次跳转到登录页面(无法进入personal.htm



[此贴子已经被作者于2017/3/28 15:31:13编辑过]

--  作者:有点色
--  发布时间:2017/3/28 15:10:00
--  

看红色代码。

 

    If e.Cookies.ContainsKey("isj") = False OrElse e.Cookies.ContainsKey("imm") = False Then
        msgbox(5)
        Dim dr As DataRow = DataTables("会员资料").sqlFind("手机 = \'" & UserName & "\'")
        If dr IsNot Nothing AndAlso dr("密码") = Password Then
            msgbox(6)
            Verified  = True
        End If
    Else
        msgbox(222)
        Verified  = True

    End If