Foxtable(狐表)用户栏目专家坐堂 → 登录页面,输入正确的验证码,验证不成功


  共有2787人关注过本帖树形打印复制链接

主题:登录页面,输入正确的验证码,验证不成功

帅哥哟,离线,有人找我吗?
zhangjian222200
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
登录页面,输入正确的验证码,验证不成功  发帖心情 Post By:2017/3/23 15:29:00 [只看该作者]

登录页面,输入正确的验证码,验证不成功,应该是cookies的问题,详情见下面粉色代码,麻烦看看
获取验证码、js代码发不上来,所以放在文档里

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

这是登录页面login.htm代码:
Dim e As RequestEventArgs = args(0)                             '登录页面
Select Case e.Path
    Case "login.htm"
        Dim wb As New weui
        If e.PostValues.Count = 0 Then
            wb.AddTopTips("","toptip1","") '用于显示动态错误提示
            wb.AddForm("","form1","valid_login.htm").Attribute="on-sub-mit='return validit_login()'"
            With wb.AddInputGroup("form1","ipg1","登录")
                If e.PostValues.ContainsKey("isj") AndAlso e.PostValues.ContainsKey("imm")  Then '判断是否是验证失败后的重新登录
                    wb.AddTopTips("","toptip1","用户名或密码错误!").msec = 2000 '如果用户通过登录按钮访问,则给用户一个2秒的提示.
                End If
                With .AddInputCell("ic1")  '通过InputCell增加输入框(1表示突出显示,2表示红色警示图标)
                    .AddLabel("lsj","手机",0)  '增加标签(0显示在左边)
                    .AddInput("isj","text",1).PlaceHolder= "请输入手机号"  '增加输入框(0靠左显示,1居中显示,2靠右显示)
                End With
                With .AddInputCell("ic2")
                    .AddLabel("lmm","密码",0)
                    .AddInput("imm","password",1).PlaceHolder= "请输入密码"
                End With
                With .AddInputCell("ic5") '通过InputCell增加输入框
                    .AddLabel("lyzm","验证码",0) '增加标签,0显示在左边
                    .AddInput("yzm","text",1) '增加输入框,1表示显示在中间
                    .AddImage("pim","/getVimg.htm",2).Attribute="o-n-click=""this.src = 'getVimg.htm?rand=' + Math.random() """ '增加一个图片,2比表示显示在右边
                End With
                'End With
                .AddSwitch("jizhumima","记住密码")
                With wb.AddButtonGroup("form1","btg1",True)
                    .Add("btn1", "登录","submit") '"/index.htm")
                End With
                With wb.AddButtonGroup("form1","btg2", False)
                    .Add("btn2", "免费注册","","/register.htm").Kind = 1
                    .Add("btn3", "忘记密码","","/getback.htm").Kind = 1
                End With
            End With
            wb.AppendHTML("<s-crip-t src='./lib/ajaxform_login.js'></script>") '引入脚本文件
            e.WriteString(wb.Build) '生成网页
        End If
End Select

这是登录验证valid_login.htm页面代码:
Dim e As RequestEventArgs = args(0)                             '验证页面(登录页面)
Select Case e.Path
    Case "valid_login.htm"
        Dim wb As New weui
        Dim cookie_yzm As String = e.Cookies("msg") '从cookie中获取验证码
        msgbox(e.Cookies("msg"))     ’窗口弹出,无值
        msgbox(cookie_yzm)             ‘同上
        Dim yanzm As String = e.PostValues("yzm") '验证_验证码
        Dim jizmm As String = e.PostValues("jizhumima") '验证服务协议
        If yanzm = "" Then
            e.WriteString("验证码不能为空!")
            Return ""
        ElseIf yanzm <> "" AndAlso yanzm.Length <> 4 Then
            e.WriteString("请输入正确的验证码!")
            Return ""
        ElseIf yanzm <> " & cookie_yzm & "  Then
            msgbox(123)                                       ‘窗口弹出123         ’
            e.WriteString("请输入正确的验证码!")
            Return ""
        End If
End Select
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:获取验证码、js代码.txt


[此贴子已经被作者于2017/3/23 15:34:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 15:47:00 [只看该作者]

getVImg设置的是这个啊 e.AppendCookie("yanzhengma", msg)  '校对这个cookie

 

你要用这个名字啊 yanzhengma


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/3/23 18:57:00 [只看该作者]

1楼问题解决了,这是新问题

记住密码行,当勾选时,验证正常,当不勾选时,提示:未应用到实例(是不是因为涉及ajax,公测时,这里就有个bug的,后来改了,不知道这里的问题是不是又一个bug)
.AddSwitch("jizhumima","记住密码").Value = "是"  

js代码:
function validit_login(){
    var result=submitAjaxFileds("valid_login.htm","","isj","imm","yzm","jizhumima",false);
    if(result=="OK"){
        return true;
    }
    else{
        showTopTips("toptip1",result,2000);
        return false;
    }
}

[此贴子已经被作者于2017/3/23 21:39:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 21:04:00 [只看该作者]

 

请加入msgbox弹出值定位错误位置。

 


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/3/23 21:35:00 [只看该作者]

这是内部函数login,js代码在3楼
Dim e As RequestEventArgs = args(0)                             '登录页面
Select Case e.Path
    Case "login.htm"
        Dim wb As New weui
        If e.PostValues.Count = 0 Then
            wb.AddTopTips("","toptip1","") '用于显示动态错误提示
            wb.AddForm("","form1","login.htm").Attribute=""
            With wb.AddInputGroup("form1","ipg1","登录")
                If e.PostValues.ContainsKey("isj") AndAlso e.PostValues.ContainsKey("imm")  Then '判断是否是验证失败后的重新登录
                    wb.AddTopTips("","toptip1","用户名或密码错误!").msec = 2000 '如果用户通过登录按钮访问,则给用户一个2秒的提示.
                End If
                With .AddInputCell("ic1")  '通过InputCell增加输入框(1表示突出显示,2表示红色警示图标)
                    .AddLabel("lsj","手机",0)  '增加标签(0显示在左边)
                    .AddInput("isj","text",1).PlaceHolder= "请输入手机号"  '增加输入框(0靠左显示,1居中显示,2靠右显示)
                End With
                With .AddInputCell("ic2")
                    .AddLabel("lmm","密码",0)
                    .AddInput("imm","password",1).PlaceHolder= "请输入密码"
                End With
                With .AddInputCell("ic5") '通过InputCell增加输入框
                    .AddLabel("lyzm","验证码",0) '增加标签,0显示在左边
                    .AddInput("yzm","text",1) '增加输入框,1表示显示在中间
                    .AddImage("pim","/getVimg.htm",2).Attribute=""" '增加一个图片,2比表示显示在右边
                End With
                'End With
                .AddSwitch("jizhumima","记住密码").Value = "是"   '当不勾选时,有bug所有此行暂不用
                With wb.AddButtonGroup("form1","btg1",True)
                    .Add("btn1", "登录","submit") '"/index.htm")
                End With
                With wb.AddButtonGroup("form1","btg2", False)
                    .Add("btn2", "免费注册","","/register.htm").Kind = 1
                    .Add("btn3", "忘记密码","","/getback.htm").Kind = 1
                End With
            End With
            wb.AppendHTML("<script src='./lib/ajaxform_login.js'></script>") '引入脚本文件
            e.WriteString(wb.Build) '生成网页
        End If
End Select

这是内部函数valid_login,当不勾选时,msgbox("是否已经记住密码:" & jizmm)弹出空值,见下图
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验证码:" & cookie_yzm)
        Dim yanzm As String = e.PostValues("yzm") '验证_验证码
        msgbox("输入的验证码:" & yanzm)
        Dim jizmm As String = e.PostValues("jizhumima") '验证_记住密码
        msgbox("记住密码:" & jizmm)
        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
            e.WriteString("请输入正确的验证码!")
            Return ""
        ElseIf jizmm <> "是" Then
            msgbox("是否已经记住密码:" & jizmm)
            'e.WriteString("未确认服务协议!")
            Return ""
        End If
End Select

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

[此贴子已经被作者于2017/3/23 21:36:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 21:56:00 [只看该作者]

 那没问题啊,弹出空值正常啊。

 

 记住密码本身就不需要验证,验证通过,那就返回OK。


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1553 积分:11003 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2017/3/23 22:04:00 [只看该作者]

可能之前弄错了,之前不勾选时弹出,提示:未应用到实例

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/24 8:27:00 [只看该作者]

运行到哪个msgbox弹出的错误?

 回到顶部