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>" 展开
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>" 展开
展开全部
if not(rs2.bof or rs2.eof) '判断改
'
'
'
rs2("memb__pwd")= request("newpwd")'更改密码
'
'
'
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
展开全部
错误提示是什么? 看上去不像是直接通过表单提交修改密码, 而是同步一个密码.
更多追问追答
追问
这个是代码段 是从另一个前台页面 表单提交到这里 验证用户和密码 然后修改密码
追答
在
rs2.Open sqlup,conn,1,3
下面加
response.write rs2.recordcount
response.end
可能是MEMB_INFO表返回的结果为空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接把on error resume next
注释掉
看看效果
注释掉
看看效果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询