以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  公众号订单管理 实例,本地测试,为什么只停留在身份验证函数,而没执行到登录页  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189293)

--  作者:foxtable1
--  发布时间:2023/11/22 15:42:00
--  公众号订单管理 实例,本地测试,为什么只停留在身份验证函数,而没执行到登录页
如题 ,如上图。图片点击可在新窗口打开查看
--  作者:foxtable1
--  发布时间:2023/11/22 15:48:00
--  

从“订单\\订单_登录页”看,只要

 Else Verified = -1

        Dim ul1 As String

        Dim ul2 As String = e.Request.URL.ToString

        If Vars("isLocal") Then

            ul1 = ul2 & "?code=123" \'本地测试,随便加个code参数

下面页面为何没有生成?

wb.InsertHTML("<meta http-equiv=\'Refresh\' c>")

        e.WriteString(wb.Build)

        Return "" \'必须的

    End If

    \'下面生成网页

    wb.AddPageTitle("","pageheader","订单微信端","由湛江辉迅基于Foxtable开发")

    If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password")  Then \'判断是否是验证失败后的重新登录

        wb.AddTopTips("","toptip1","密码错误!").msec = 2000 \'如果用户通过登录按钮访问,则给用户一个2秒的提示.

    End If

    wb.AddForm("","form1","logon")

    

    With wb.AddInputGroup("form1","ipg1")

        With .AddInput("username","户名","text")

            .Readonly = True

            If username > "" Then

                .Value = UserName

            End If

        End With

        .AddInput("password","密码","password")

        If e.Values.ContainsKey("reurl") Then \'保存重定向的页面地址,不然提交后获取不到

            .AddHiddenValue("reurl",e.Values("reurl")) \'这里无需解码

        End If

    End With

    With wb.AddButtonGroup("form1","btg1",True)

        .Add("btn1", "登录", "submit")

    End With

    e.WriteString(wb.Build)



--  作者:有点蓝
--  发布时间:2023/11/22 16:14:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

如果还不行,验证登录的代码在函数【订单\\订单_身份验证】里,自己跟踪一下代码,看看什么地方判断出错了

--  作者:foxtable1
--  发布时间:2023/11/23 8:49:00
--  
这2步已设置了。openid填的是加密后的字符串吗?我填的是加密前的openid
图片点击可在新窗口打开查看

--  作者:foxtable1
--  发布时间:2023/11/23 8:50:00
--  
从代码里看,应该是填加密前的openid
--  作者:foxtable1
--  发布时间:2023/11/23 8:55:00
--  
跟踪函数【订单\\订单_身份验证】代码:获得Verified = -1,openid为空。并不是表A中填入的openid
--  作者:foxtable1
--  发布时间:2023/11/23 9:00:00
--  
1、本地测试时,请求网址是http://127.0.0.1/ordertest/logon,后面没有?code。函数【订单\\订单_身份验证】如下四行代码就不会执行了呀
\'身份验证,公众号
If e.GetValues.ContainsKey("code") Then \'如果有code参数说明是从授权转接过来的
    If Vars("isLocal") Then
        Openid = Tables("表A").Rows(1)("第三列") \'局域网测试直接返回固定值
        wb.Appendcookie("openid",EncryptText(Openid & "|" & Date.Now,_EKEY1, _EKEY2) )。
2、请求网址改为http://127.0.0.1/ordertest/logon?code=“123”后,浏览器则一直在等待响应中。。。,没有返回e.WriteString(wb.Build)相关的页面


--  作者:有点蓝
--  发布时间:2023/11/23 9:04:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:foxtable1
--  发布时间:2023/11/23 9:13:00
--  
1、我一楼的请求地址写的对吗?如果不对,应写哪个网页地址
2、表A也填了openid了,全局变量也islocal=true了,函数【订单\\订单_身份验证】代码
If e.GetValues.ContainsKey("code") Then \'如果有code参数说明是从授权转接过来的
    If Vars("isLocal") Then
        Openid = Tables("表A").Rows(1)("第三列") \'局域网测试直接返回固定值
        wb.Appendcookie("openid",EncryptText(Openid & "|" & Date.Now,_EKEY1, _EKY2) )
为什么不会执行,会是条件If e.GetValues.ContainsKey("code") 问题吗


--  作者:有点蓝
--  发布时间:2023/11/23 11:09:00
--  
请求网址改为:

http://127.0.0.1/ordertest/logon?code=123

注意是英文的问号,也不需要加双引号