以文本方式查看主题
- 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
|