标题:[求助]如何在同一个窗口做修改密码和验证
只看楼主
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 

在我这里测试没有问题 你要是不行把代码该成这样试试 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!--#include file="conn.asp"--> <%if isempty(session("username")) then response.redirect("login.asp") end if name1=request("oldname") pwd1=request("pwd1") name2=request("newname2") pwd2=request("newpwd2") if name1<>"" and pwd1<>"" then set rsc=server.createobject("adodb.recordset") sqlc="select * from admin where admin='"&name1&"' and pwd='" &pwd&"'" rsc.open sqlc,conn,3,2 if rsc.eof or rsc.bof then %>

<script language=javascript> alert('请输入正确的用户名或密码'); history.back(); </script> <%

else rsc.open "update admin set admin='"&name2&"' and pwd='"&pwd2&"'",conn,3,1 %> <script language=javascript> alert("修改成功") </script>

<% end if end if %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link rel="stylesheet" type="text/css" href="css/my.css"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>管理员密码修改</title> </head> <body> <form name="form1" method="post" action="change.asp"> <table width="424" height="220" border="0" align="center" cellpadding="0" cellspacing="1"

bgcolor="#993300" class="k1"> <tr> <td width="420" height="18" bgcolor="#FFFFFF"><a href="index.asp">发表留言</a>||<a

href="change.asp">管理员资料修改</a>||<a href="loginout.asp">退出管理</a></td> </tr> <tr> <td bgcolor="#FFFFFF"><table width="99%" border="0" cellspacing="0" cellpadding="0"> <tr align="center"> <td width="37%">旧用户名:</td> <td width="63%"> <div align="justify"> <input name="oldname" type="text" class="k1" size="20"> </div></td> </tr> <tr align="center"> <td>旧&nbsp;密&nbsp;码:</td> <td> <div align="justify"> <input name="oldpwd" type="password" class="k1" value="" size="20"> </div></td> </tr> <tr align="center"> <td>新用户名:</td> <td> <div align="justify"> <input name="newname" type="text" class="k1" size="20"> </div></td> </tr> <tr align="center"> <td>新&nbsp;密&nbsp;码:</td> <td> <div align="justify"> <input name="newpwd" type="password" class="k1" id="newpwd" size="20"> </div></td> </tr> <tr align="center"> <td>确认密码:</td> <td> <div align="justify"> <input name="newpwd" type="password" class="k1" id="newpwd" size="20"> </div></td> </tr> <tr align="center"> <td height="26"><input name="Submit" type="submit" class="k1" value="修改"></td> <td> <input name="Submit" type="reset" class="k1" value="重置"> </td> </tr> </table> </td> </tr> </table> </form> </body> </html>


2005-06-06 11:56
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
得分:0 
hxfly姐姐,还是不行啊。 当我随便输个错误的用户名或密码时,然后点修点,他不弹出那个错误的提示, 就算我输入正确的,他还是不提示修改成功,只是相当把那个页面刷新了一下。

中国人的财富网:http://www..cn/
2005-06-06 14:41
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
只注意你的弹出窗口问题了
没有注意你的逻辑
把if rsc.eof or rsc.bof then
改if rsc.eof and rsc.bof then
这样测试一下
呵呵

2005-06-06 14:47
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
得分:0 
还是像刷新页面一样, set rsc=server.createobject("adodb.recordset") sqlc="select * from admin where admin='"&name1&"' and pwd='" &pwd&"'" rsc.open sqlc,conn,3,2 if rsc.eof or rsc.bof then %>

<script language=javascript> alert('请输入正确的用户名或密码'); history.back(); </script> <%

else rsc.open "update admin set admin='"&name2&"' and pwd='"&pwd2&"'",conn,3,1 %> <script language=javascript> alert("修改成功") </script>

<% end if end if %> 我想得到的效果是:当我输入错误的用户名或密码后提交,会出现提示,但是我提交的时候就像刷新页面一样.不弹出提示


中国人的财富网:http://www..cn/
2005-06-06 14:53
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
以下是引用caiyakang在2005-6-6 14:53:54的发言: 还是像刷新页面一样, set rsc=server.createobject("adodb.recordset") sqlc="select * from admin where admin='"&name1&"' and pwd='" &pwd&"'" rsc.open sqlc,conn,3,2 if rsc.eof and rsc.bof then %>

<script language=javascript> alert('请输入正确的用户名或密码'); history.back(); </script> <%

else rsc.open "update admin set admin='"&name2&"' and pwd='"&pwd2&"'",conn,3,1 %> <script language=javascript> alert("修改成功") </script>

<% end if end if %> 我想得到的效果是:当我输入错误的用户名或密码后提交,会出现提示,但是我提交的时候就像刷新页面一样.不弹出提示


2005-06-06 14:56
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
得分:0 
谢谢你啊,可以了,我刚测试了一下

中国人的财富网:http://www..cn/
2005-06-06 14:56
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
是不是逻辑错误?

这样的错误最难找了

呵呵

2005-06-06 14:59
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
得分:0 
又发现了个错误, <%else rsc.open "update admin set admin='"&name2&"' and pwd='"&pwd2&"'",conn,3,1 %> 当我们执行这个的时候是不是要重新建个记录集.

中国人的财富网:http://www..cn/
2005-06-06 15:10
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
不用 在UPDATE语句中加如条件 rsc.open "update admin set admin='"&name2&"' and pwd='"&pwd2&"' where admin='"&name1&"'",conn,3,1 name1是久用户名 或者你用ID也可以,这个ID需要你的查询语句时候记录

2005-06-06 15:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-20134-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091874 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved