ASP修改密码代码出错!

以下是我的代码,麻烦高手给检查下哪里出错了?我那用户信息的数据库表名是:hy密码字段是:mm<%dimpaw1,paw2,pawpaw=request.Form("paw... 以下是我的代码,麻烦高手给检查下哪里出错了?我那用户信息的数据库表名是: hy 密码字段是:mm

<%
dim paw1,paw2,paw
paw=request.Form("paw")
paw1=request.Form("paw1")
paw2=request.Form("paw2")
if paw1="" or paw2="" or paw="" then
response.Write("<script>alert('密码不能为空');location.href='xgmm.asp'</script>")
response.End()
end if
if paw1<>paw2 then
response.Write("<script>alert('两次密码不一致');location.href='xgmm.asp'</script>")
response.End()
end if

set conn=Server.Createobject("adodb.connection")
conn.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
"Data Source=" & Server.MapPath("databases/bk.mdb")
if rs("mm")<>paw then
set rs=Server.Createobject("adodb.recordset")
'打开数据库
sql="select mm from hy where ID='"&ID&"'"
rs.open sql,conn,1,1
response.Write("<script>alert('密码错误');location.href='xgmm.asp'</script>")
response.End()

end if

'update 数据

'定义sql语句
exec="update mm='"&paw1&"' set mm from hy where ID="&ID&""
rs.open exec,conn,1,3
response.Write("<script>alert('修改成功');location.href='xgmm.asp'</script>")
response.End()
%>
运行时直接弹出“密码不能为空”的窗口,不显示网页
以下是修改密码表单代码:
<form method="post" name="form1" id="form1">
<table width="300" height="100" cellpadding="0" cellspacing="0"><tr>
<td width="111" class="STYLE14">请输入您的旧密码:</td>
<td width="187"><input name="paw" type="text" id="paw" /></td></tr>
<tr>
<td class="STYLE14">请输入您的新密码:</td>
<td><input name="paw1" type="text" id="paw1" /></td>
</tr>
<tr>
<td class="STYLE14">请重复输入新密码:</td>
<td><input name="paw2" type="text" id="paw2" /></td>
</tr>
</table>
<br />
<input type="submit" name="Submit" value="确认修改" />
<input name="ID" type="hidden" id="ID" value="<%=(Rehy.Fields.Item("ID").Value)%>" />
</form>
展开
 我来答
Fiftyfive
2009-06-04 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:0
展开全部
我正组织语言呢,楼上就给出了答案,呵呵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
正昱
2009-06-04
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
你运行时报的什么错?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dcf_81259713
2009-06-04 · TA获得超过417个赞
知道小有建树答主
回答量:1618
采纳率:0%
帮助的人:409万
展开全部
可能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友66a8d48e5
2009-06-04 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3892万
展开全部
你的错误是:首次请求会弹出”密码不能为空”的对话框,点击后继续是这样的提示,机器不死机你就永远点下去,不可以显示任何页面的.

呵呵,状况是这样吧?

因为你的首次请求与带参请求并没有分开,也就是说你首次请求是并不带任何参数,但程序已经对其中的参数进行了验证,当然,这样会陷入一个无参的一直的请求的循环中.

更改的办法请在form中加入以下属性:
action="?action=login"这个意思是如果是带参请求时一定会带一个action的参数,然后在开始就可以分开是直接的请求还是网页的修改请求了!

开始的程序应该这样写:
if request.querystring("Action") = "login" then
这证明是由能数请求过来的,将你上边所以的处理均放在这里面
end if

如果取出的action参数为空时表明这是初次请求,而非网页的修改请求,所以会显示你的内容的,如果这个参数是login时,表示这是由form传值过来了,要求更改,这时会进行所有的处理过程!

如果你的程序没有其他的语句的话,我也想不通你的隐藏框的值是来源于何处,是会报错了!所以只要你将上边的内容写入到判断中就可以了!呵呵!意思你应该明白了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式