asp,我到底错在哪里?请大家帮我看看好吗

liruolan 2003-08-21 05:42:00
我是一个ASP的菜鸟,在最近的学习中要编写一个关于修改密码的小程序,可是总是500服务器出错,自己又看不出来,请求哪位大虾帮我看一下(我就连哪错了都不知道)
<% @LANGUAGE="VBSCRIPT"%>
<%Action=trim(request("Action"))
if Action="Modify" then
call ModifyPwd()
else
call main()
end if
%>


<%sub main()%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>
<body><script language=javascript>
function CheckForm()
{ if(document.change.T1.value=="")
{
alert("密码不能为空!");
document.change.T1.focus();
return false;
}
if(document.change.T1.value!=document.change.T2.value)
{
alert("两次密码输入不一致!");
document.change.T1.focus();
return false;
}
}
</script>
<form method="POST" action="changemima.asp" name="change" onsubmit="return CheckForm()">
<p>用户名<input type="text" name="T3" size="20">请输入你的新密码<input type="password" name="T1" size="20"></p>
<p>请再次确认你的密码<input type="password" name="T2" size="20"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"><input name="Action" type="hidden" id="Action" value="Modify">
</p>
</form>
</body>
</html>
<%end sub%>
<%sub ModifyPwd()
DIM newpw,userid
newpw=trim(request.form("T1"))
userid=trim(request.form("T3"))
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.open "manager" ----------数据源名
sqlstr="update manager set password='"&newpw&"' where id='"&userid&"'"
set Rs=Conn.execute(sql)
if not Rs.eof and Rs.bof then
response.write "修改成功"
end if
Rs.close
set Rs=nothing
conn.close
set conn=nothing
end sub %>
多谢
...全文
37 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liruolan 2003-08-22
  • 打赏
  • 举报
回复
我已经找到原因了,帮我看看我说的对不对:
我对数据库"update"以后,数据库自动关闭,这时,再来判断是否添加成功就会导致出错。
我重新再打开一个“SQLSTR”“SELECT”一遍,判断是否添加成功就没有问题了
niaoked 2003-08-22
  • 打赏
  • 举报
回复
500错误应该是找不到 文件的提示呀
cpeboy 2003-08-21
  • 打赏
  • 举报
回复
哥们 500 错误 有的查不出来 我也是asp菜鸟 建议到这个论坛看看
这里的斑竹恢复率很高的
http://www.webasp.net/bbs/dispbbs.asp?boardID=4&ID=206
本拉灯 2003-08-21
  • 打赏
  • 举报
回复
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.open "driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("database/manager.mdb")
这样试试看
liruolan 2003-08-21
  • 打赏
  • 举报
回复
改成这样还是不行
Conn_STRING = "driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("database/manager.mdb") & ""
flag="ADODB.Recordset"
set rsUser = Server.CreateObject(flag)
rsUser.ActiveConnection = Conn_STRING
rsUser.Source = "update manager set password='"&newpw&"' where id='"&userid&"'"

rsUser.CursorType =3
rsUser.CursorLocation = 2
rsUser.LockType = 3
rsUser.Open
本拉灯 2003-08-21
  • 打赏
  • 举报
回复
Conn.open "manager" ----------数据源名

这句不要用数据源名看看,可能是这句出错了,用实际的地址OPEN
cpeboy 2003-08-21
  • 打赏
  • 举报
回复
你的系统是不是xp或者2003啊
我在这两个系统都是500错误
在2000底下 就提示哪行出错了
liruolan 2003-08-21
  • 打赏
  • 举报
回复
去掉了第一句话还是不行啊一样的错误
显示的错误是:
无法显示网页
您要访问的网页有问题,无法显示。

--------------------------------------------------------------------------------

请尝试以下操作:
打开 主页,然后查找指向您感兴趣信息的链接。
单击刷新按钮,或以后再试。
单击搜索,寻找 Internet 上的信息。
也可查看相关站点列表。
HTTP 500 - 内部服务器错误
Internet Explorer
-------
szsammy 2003-08-21
  • 打赏
  • 举报
回复
没有问题呀。你把详细错误贴出来看看
veryhappy 2003-08-21
  • 打赏
  • 举报
回复
楼上的字符串比较怎么不能用“=”
你用的if InStr(Action,"Modify")>0 then只是判断是否包含,不能判断是否相等!
hfkj 2003-08-21
  • 打赏
  • 举报
回复
把最顶上的哪句话去掉
flygoocn 2003-08-21
  • 打赏
  • 举报
回复
vbs里字符串比较不能直接用=的

if InStr(Action,"Modify")>0 then 说明该字符串中含有字符串



InStr 函数
返回某字符串在另一字符串中第一次出现的位置。

InStr([start, ]string1, string2[, compare])

参数
start

可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果 start 包含 Null,则会出现错误。如果已指定 compare,则必须要有 start 参数。

string1

必选项。接受搜索的字符串表达式。

string2

必选项。要搜索的字符串表达式。

compare

可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,将执行二进制比较。

设置
compare 参数可以有以下值:

常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。


返回值
InStr 函数返回以下值:

如果 InStr 返回
string1 为零长度 0
string1 为 Null Null
string2 为零长度 start
string2 为 Null Null
string2 没有找到 0
在 string1 中找到 string2 找到匹配字符串的位置
start > Len(string2) 0


说明
下面的示例利用 InStr 搜索字符串:

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
MyPos = Instr(4, SearchString, SearchChar, 1) ' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(1, SearchString, SearchChar, 0) ' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(SearchString, SearchChar) ' Comparison is binary by default (last argument is omitted). Returns 9.
MyPos = Instr(1, SearchString, "W") ' A binary comparison starting at position 1. Returns 0 ("W" is not found).
注意 InStrB 函数使用包含在字符串中的字节数据,所以 InStrB 返回的不是一个字符串在另一个字符串中第一次出现的字符位置,而是字节位置。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧