Foxtable(狐表)用户栏目专家坐堂 → 登录,数据库读取用户名和密码, 提示错误


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

主题:登录,数据库读取用户名和密码, 提示错误

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
登录,数据库读取用户名和密码, 提示错误  发帖心情 Post By:2017/4/28 22:29:00 [只看该作者]

帮助中的代码,我改成数据库读取用户名和密码,  提示错误:

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


Dim Verified As Boolean '用于标记用户是否通过了身份验证
Dim UserName As String = e.Cookies("username") '从cookie中获取用户名
Dim Password As String = e.Cookies("password") '从cookie中获取用户密码
If e.Path = "logon.htm" '如果是通过登录页面访问,从PostValues即可中提取用户名和密码
    If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password")  Then
        UserName = e.PostValues("username")
        Password = e.PostValues("password")
    End If
End If

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELEC T name,password From {用户数据表}"
dt = cmd.ExecuteReader()

Dim dr As DataRow = dt.SQLFind("[Name] = '" & UserName & "'")

If Password = dr("Password") Then
    Verified  = True
Else
End If

If Verified AndAlso e.Path = "logon.htm"  Then '如果用户访问的是登录页,且身份验证成功
    wb.AppendCookie("username",UserName) '将用户名和密码写入cookie
    wb.AppendCookie("password",Password)
    wb.InsertHTML("<meta http-equiv='Refresh' c>") '直接跳转到首页
    e.WriteString(wb.Build) '生成网页
    Return  '必须的
ElseIf Verified = False AndAlso e.Path <> "logon.htm" Then '如果用户身份验证失败,且访问的不是登录页面
    wb.InsertHTML("<meta http-equiv='Refresh' c>") '那么直接跳转到登录页面
    e.WriteString(wb.Build) '生成网页
    Return  '必须的
End If

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2017/4/28 22:36:00 [只看该作者]

知道原因了。

没有判断是否存在。。。

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


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/28 22:38:00 [只看该作者]

......
Dim dr As DataRow = dt.SQLFind("[Name] = '" & UserName & "'")
if dr isnot nothing then
If Password = dr("Password") Then
    Verified  = True
Else
End If
End If
......

 回到顶部