Foxtable(狐表)用户栏目专家坐堂 → 再问口令修改的问题


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

主题:再问口令修改的问题

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
再问口令修改的问题  发帖心情 Post By:2016/7/21 11:24:00 [只看该作者]


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

谢谢大红袍,不过看了你前面的帮助还是不明白.

我现在设计的程序是以开发者的身份登录加入了操作员,

然后其他操作员以后工作中设计是可以自行修改自己的口令,在项目中增加了一个"修改口令"的功能按钮,点击该按钮后则出现了图片中的窗口,

操作员直接在新口令后面的方框中(TextBox1)输入新的口令,然后点击下方的确认(Button1)按钮,则可实现了该操作员自己口令的修改.

保存在关联的SQL表(USER)中还是以加密类型储存.


请问实现需求,在"确认"按钮处应该加入什么代码.请大红袍指教.

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/21 12:02:00 [只看该作者]

多加一个 原密码 的文本框

 

Dim str1 As String = e.form.Controls("TextBox1").Text

Dim str2 As String = e.form.Controls("TextBox2").Text

Dim dr As DataRow = DataTables("user").SqlFind("name = '" & user.name & "'")

If dr("config").Contains(MD5Encrypt(str1)) Then
   
    dr("config").Replace(MD5Encrypt(str1), MD5Encrypt(str2))
   
    msgbox("修改成功")
   
End If


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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2016/7/21 12:44:00 [只看该作者]

尝试了不管用。
STR1 里为旧密码,STR2中为新密码,
好像下面这句语句并没有执行数据替换,
    dr("config").Replace(MD5Encrypt(str1), MD5Encrypt(str2))

更改后重新登录,还有旧密码有效,新密码不能用.

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/21 14:32:00 [只看该作者]

哦,最后要save一下

 

Dim str1 As String = e.form.Controls("TextBox1").Text

Dim str2 As String = e.form.Controls("TextBox2").Text

Dim dr As DataRow = DataTables("user").SqlFind("name = '" & user.name & "'")

If dr("config").Contains(MD5Encrypt(str1)) Then
    dr("config").Replace(MD5Encrypt(str1), MD5Encrypt(str2))
    dr.save
    msgbox("修改成功")   
End If


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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2016/7/21 15:07:00 [只看该作者]

加了  dr.save,还是没有更新过来。

好像这句    dr("config").Replace(MD5Encrypt(str1), MD5Encrypt(str2)) 没管用。没有用2替换掉1。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/21 15:25:00 [只看该作者]

加入调试代码

 

Dim str1 As String = e.form.Controls("TextBox1").Text

Dim str2 As String = e.form.Controls("TextBox2").Text

Dim dr As DataRow = DataTables("user").SqlFind("name = '" & user.name & "'")

msgbox(dr("config") & vbcrlf & MD5Encrypt(str1))

If dr("config").Contains(MD5Encrypt(str1)) Then
    dr("config").Replace(MD5Encrypt(str1), MD5Encrypt(str2))

msgbox(dr("config") & vbcrlf & MD5Encrypt(str1) & vbcrlf & MD5Encrypt(str2))
    dr.save
    msgbox("修改成功")   
End If


 回到顶部