以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 登录页面,输入正确的验证码,验证不成功 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98069) |
-- 作者:zhangjian222200 -- 发布时间:2017/3/23 15:29:00 -- 登录页面,输入正确的验证码,验证不成功 登录页面,输入正确的验证码,验证不成功,应该是cookies的问题,详情见下面粉色代码,麻烦看看 获取验证码、js代码发不上来,所以放在文档里 这是登录页面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 [此贴子已经被作者于2017/3/23 15:34:44编辑过]
|
-- 作者:有点色 -- 发布时间:2017/3/23 15:47:00 -- getVImg设置的是这个啊 e.AppendCookie("yanzhengma", msg) \'校对这个cookie
你要用这个名字啊 yanzhengma |
-- 作者:zhangjian222200 -- 发布时间:2017/3/23 18:57:00 -- 1楼问题解决了,这是新问题 .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编辑过]
|
-- 作者:有点色 -- 发布时间:2017/3/23 21:04:00 --
请加入msgbox弹出值定位错误位置。
|
-- 作者:zhangjian222200 -- 发布时间: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
[此贴子已经被作者于2017/3/23 21:36:21编辑过]
|
-- 作者:有点色 -- 发布时间:2017/3/23 21:56:00 -- 那没问题啊,弹出空值正常啊。
记住密码本身就不需要验证,验证通过,那就返回OK。 |
-- 作者:zhangjian222200 -- 发布时间:2017/3/23 22:04:00 -- 可能之前弄错了,之前不勾选时弹出,提示:未应用到实例 |
-- 作者:有点蓝 -- 发布时间:2017/3/24 8:27:00 -- 运行到哪个msgbox弹出的错误? |