以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  再问口令修改的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87853)

--  作者:hopestarxia
--  发布时间:2016/7/21 11:24:00
--  再问口令修改的问题

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

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

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

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

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

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


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

--  作者:大红袍
--  发布时间: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
--  发布时间:2016/7/21 12:44:00
--  
尝试了不管用。
STR1 里为旧密码,STR2中为新密码,
好像下面这句语句并没有执行数据替换,
    dr("config").Replace(MD5Encrypt(str1), MD5Encrypt(str2))

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

--  作者:大红袍
--  发布时间: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
--  发布时间:2016/7/21 15:07:00
--  
加了  dr.save,还是没有更新过来。

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

--  作者:大红袍
--  发布时间: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