asp修改密码

setrs2=Server.CreateObject("ADODB.Recordset")sqlup="select*fromMEMB_INFOwherememb___i... set rs2 = Server.CreateObject("ADODB.Recordset")
sqlup="select * from MEMB_INFO where memb___id = '"&ps_loginname&"'and mem__pwd=dbo.UFN_MD5_ENCODEVALUE('"&ps_oldpsd&"','"&ps_loginname&"')"
rs2.Open sqlup,conn,1,3
if not(rs2.bof and rs2.eof) then
rs2("memb__pwd")= rs1("newpwd")
rs2.Update
end if
rs2.close
set rs2=nothing
response.write "<script language=javascript>alert('您的密码修改成功!');</script>"

请问下 我这段代码 错在哪了 修改不聊密码啊 刚接触asp 请各位帮帮忙
<!--#include file="conn1.asp" -->

<%
on error resume next
ps_loginname=request.form("username")
ps_oldpsd=request.form("oldpsd")
ps_psd1=request.form("psd1")
ps_psd2=request.form("psd2")
set rs=server.createobject("adodb.recordset")
hk=0
if instr(ps_loginname,"'")<>0 then hk=1
省略。。。。
if hk=1 then
response.write "<script language=javascript>alert('字符串包含非法参数');history.back()</script>"
展开
 我来答
蓝井坊
2011-10-13 · 超过27用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:55.7万
展开全部
if not(rs2.bof or rs2.eof) '判断改
'
'
'
rs2("memb__pwd")= request("newpwd")'更改密码
追问
这点没错 应为已经提示修改成功了 会不会是只有读没有写的权限问题?
追答
你那个提示成功的代码是在IF之外的,当然会提示成功!
光标是不可以同时在开始和结束处的,只能有一个条件是对的,所以要用OR而不是AND
还有,修改密码只要一个查询记录集就可以了,为什么要弄两个?
ps_loginname=request.form("你的用户名表单文本框名称")
newpwd=request.form("你的新密码表单文本框名称")
oldpwd=request.form("你的旧密码表单文本框名称")
newpwd=md5(newpwd) 'md5是加密函数,如果你的加密函数是其它的,就改成其它的
oldpwd=md5(oldpwd)
set rs= Server.CreateObject("ADODB.Recordset")
sql="select * from MEMB_INFO where memb_id = '"&ps_loginname&"'and mem_pwd='"&oldpwd&"'&"'"
rs.Open sql,conn,1,3
if not(rs2.bof or rs2.eof) then
rs("memb__pwd")= newpwd
rs.Update
response.write "alert('您的密码修改成功!');"
else
response.write "alert('密码修改失败!');"
end if
rs.close
set rs=nothing
缓步莫迟疑C
2011-10-13 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6483万
展开全部
错误提示是什么? 看上去不像是直接通过表单提交修改密码, 而是同步一个密码.
更多追问追答
追问
这个是代码段 是从另一个前台页面 表单提交到这里 验证用户和密码 然后修改密码
追答

rs2.Open sqlup,conn,1,3
下面加
response.write rs2.recordcount
response.end
可能是MEMB_INFO表返回的结果为空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
My空心果
2011-10-13 · TA获得超过1290个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:622万
展开全部
rs1("newpwd")这里的rs1是哪里来的不速之客???改成:request("newpwd")
更多追问追答
追问
是在上面验证 用户和密码 加的
sql="select dbo.UFN_MD5_ENCODEVALUE('"&ps_psd1&"','"&ps_loginname&"') as newpwd from MEMB_INFO where memb___id = '"&ps_loginname&"'and
memb__pwd=dbo.UFN_MD5_ENCODEVALUE('"&ps_oldpsd&"','"&ps_loginname&"')"
追答
将rs2("memb__pwd")= rs1("newpwd")
改成:
rs2("memb__pwd")= request("newpwd")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捌零老陈
2011-10-13 · TA获得超过727个赞
知道大有可为答主
回答量:1414
采纳率:100%
帮助的人:773万
展开全部
直接把on error resume next
注释掉
看看效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式