请大家帮忙看看这段代码错误在那?

beini2001 2002-09-28 04:58:36
请大家帮忙看看这段代码错误在那?

我是想实现在A代码中用户输入自己的注册资料,然后在B中实现把用户输入的内容让用户确认,最后用递交按钮实现存入数据库

现可是现在只能能实现从A到B,可是递交到C的出错:是HTTP500内部服务器错误

谢谢!

A:注册页面
<table width="46%" border="1" align="center">
<form name="frmreg" method="post" action="register1.asp">
<tr>
<td width="20%">
<div align="center">学生证号</div>
</td>
<td width="32%">
<div align="center">
<input type="text" name="xszh" size="16" maxlength="9">
</div>
</td>
<td width="48%">
<div align="center">此处输入的学生证号是唯一的</div>
</td>
</tr>
<tr>
<td width="20%">
<div align="center">姓名</div>
</td>
<td width="32%">
<div align="center">
<input type="text" name="txtname" size="16" maxlength="8">
</div>
</td>
<td width="48%">
<div align="center"> </div>
</td>
</tr>
<tr>
<td width="20%">
<div align="center">性别</div>
</td>
<td width="32%">
<input type="radio" name="sex" value="男" checked>

<input type="radio" name="sex" value="女">
女 </td>
<td width="48%"> </td>
</tr>
<tr>
<td width="20%">
<div align="center">密码</div>
</td>
<td width="32%">
<div align="center">
<input type="password" name="txtpass1" size="16" maxlength="12">
</div>
</td>
<td width="48%">
<div align="center">你的密码长度在6-12位之间</div>
</td>
</tr>
<tr>
<td width="20%">
<div align="center">验证密码</div>
</td>
<td width="32%">
<div align="center">
<input type="password" name="txtpass2" size="16" maxlength="12">
</div>
</td>
<td width="48%">
<div align="center">和上面的密码保持一致</div>
</td>
</tr>
<tr>
<td width="20%">
<div align="center">班级</div>
</td>
<td width="32%">
<div align="center">
<select name="txtclass" size=1>
<option value="初一(1)班" selected>初一(1)班</option>
<option value="初一(2)班">初一(2)班</option>
<option value="初一(3)班">初一(3)班</option>
<option value="初一(4)班">初一(4)班</option>
<option value="初一(5)班">初一(5)班</option>
<option value="初一(6)班">初一(6)班</option>
</select>
</div>
</td>
<td width="48%">
<div align="center"> </div>
</td>
</tr>
<tr>
<td width="20%">
<div align="center">机号</div>
</td>
<td width="32%">
<div align="center">
<input type="text" name="jihao" size="16" maxlength="2">
</div>
</td>
<td width="48%">
<div align="center"> </div>
</td>
</tr>
<tr>
<td width="20%">
<div align="center">登记时间</div>
</td>
<td width="32%">
<div align="center">
<input type="text" name="txttime" size="16" maxlength="16" value="<%=now%>">
</div>
</td>
<td width="48%">
<div align="center"> </div>
</td>
</tr>
<tr>
<td colspan="3" height="15">
<div align="center">
<input type="button" value="注册" onclick=checkdata>
<input type="reset" name="reset" value="重写">
</div>
</td>
</tr>
</form></table>

B:验证页面

<%
set conn=server.createobject("ADODB.CONNECTION")
connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("info.mdb")
conn.open connstr
set rst=server.createobject("adodb.recordset")
str="select * from stuinfo where xszh="&request.form("xszh")&""
rst.open str,conn,1,3%>
<%if not rst.eof then

response.write "抱歉,你的学生证号已经被注册"
response.write "请和管理员联系或者重新<A HREF='register.asp'>注册</A>"
response.end
%>
<%else%>
<div align="center">王淦昌中学学生登记<br>
以下是你输入的信息:请确认--然后点击递交按钮
<TABLE>
<TR><TD>学生证号</TD><TD><%response.write request.form("xszh")%></TD></TR>
<TR><TD>姓名</TD><TD><%response.write request.form("txtname")%></TD></TR>
<TR><TD>性别</TD><TD><%response.write request.form("sex")%></TD></TR>
<TR><TD>密码</TD><TD><%response.write request.form("txtpass1")%></TD></TR>
<TR><TD>班级</TD><TD><%response.write request.form("txtclass")%></TD></TR>
<TR><TD>机号</TD><TD><%response.write request.form("jihao")%></TD></TR>
<TR><TD>登记时间</TD><TD><%response.write request.form("txttime")%></TD></TR>
</TABLE>
<form name="form1" method="post" action="registerok.asp">
<input type="hidden" name="xszh" value=<%request.form("xszh")%>>
<input type="hidden" name="txtname" value=<%request.form("txtname")%>>
<input type="hidden" name="sex" value=<%request.form("sex")%>>
<input type="hidden" name="txtpass" value=<%request.form("txtpass1")%>>
<input type="hidden" name="txtclass" value=<%request.form("txtclass")%>>
<input type="hidden" name="jihao" value=<%request.form("jihao")%>>
<input type="hidden" name="txttime" value=<%request.form("txttime")%>>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</div>

</form>


<%end if%>

C:送交数据库的页面
<%
set conn=server.createobject("ADODB.CONNECTION")
connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("info.mdb")
conn.open connstr
set rst=server.createobject("adodb.recordset")
rst.open "stuinfo",conn,1,2
%>
<%rst.addnew
rst("xszh")=request.form("xszh")
rst("txtname")=request.form("txtname")
rst("sex")=request.form("sex")
rst("txtpass")=request.form("txtpass1")
rst("txtclass")=request.form("txtclass")
rst("jihao")=request.form("jihao")
rst("txttime")=request.form("txttime")
rst.movenext
%>
你的注册已经完成,谢谢你的合作<br>你现在可以<a href="index.asp">登陆</a>了
...全文
31 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
beini2001 2002-09-29
  • 打赏
  • 举报
回复
现在估计问题找到了

我用<%response.write request("xszh")%>在第三个文件(registerok)中

可是在执行的时候却发现没有任何的输出

所以我估计可能是在第二个文件中取值出现了错误

所以现在我想问的是怎么利用隐藏表单来取得从前面递交来的数据

似乎用下面的这个表单实现有些困难

<form name="form1" method="post" action="registerok.asp">
<input type="hidden" name="xszh" value=<%request.form("xszh")%>>
<input type="hidden" name="txtname" value="<%request.form("txtname")%>">
<input type="hidden" name="sex" value="<%request.form("sex")%>">
<input type="hidden" name="txtpass" value="<%request.form("txtpass1")%>">
<input type="hidden" name="txtclass" value="<%request.form("txtclass")%>">
<input type="hidden" name="jihao" value="<%request.form("jihao")%>">
<input type="hidden" name="txttime" value="<%request.form("txttime")%>">
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</form>

请大家帮忙

谢谢

在线等待
popcode 2002-09-29
  • 打赏
  • 举报
回复
看看xszh这个字段是什么类型,还有request.form("xszh")数据是什么型的,错误在于数据库类型不匹配,或者你验证一样request.form("xszh")的内容然后再写入
beini2001 2002-09-29
  • 打赏
  • 举报
回复
Provider 错误 '80020005'

类型不匹配。

/sjjl1/registerok.asp,行17


这个是怎么回事
beini2001 2002-09-29
  • 打赏
  • 举报
回复
怎么判断request.form("xszh")等有值呢?

怎么判断输入的数据类型是否一致?

谢谢!
beini2001 2002-09-29
  • 打赏
  • 举报
回复
我的数据是从下面的代码取得的

然后再用刚刚的那段代码取得相应的值

能帮我看看成吗?

<input type="hidden" name="xszh" value=<%=request.form("xszh")%>>
<input type="hidden" name="txtname" value=<%=request.form("txtname")%>>
<input type="hidden" name="sex" value=<%=request.form("sex")%>>
<input type="hidden" name="txtpass" value=<%=request.form("txtpass1")%>>
<input type="hidden" name="txtclass" value=<%=request.form("txtclass")%>>
<input type="hidden" name="jihao" value=<%=request.form("jihao")%>>
<input type="hidden" name="txttime" value=<%=request.form("txttime")%>>
crater 2002-09-29
  • 打赏
  • 举报
回复
先判断数据库是否为空,然后再判断输入的数据类型是否一致,这要比较保险,别忘了给出提示信息。
cshadow 2002-09-29
  • 打赏
  • 举报
回复
<%
set conn=server.createobject("ADODB.CONNECTION")
connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("info.mdb")
conn.open connstr
set rst=server.createobject("adodb.recordset")
rst.open "stuinfo",conn,1,3
%>
<%rst.addnew
rst("xszh")=request.form("xszh")
rst("txtname")=request.form("txtname")
rst("sex")=request.form("sex")
rst("txtpass")=request.form("txtpass1")
rst("txtclass")=request.form("txtclass")
rst("jihao")=request.form("jihao")
rst("txttime")=request.form("txttime")
rst.update
%>
确认request.form("xszh")等有值
beini2001 2002-09-29
  • 打赏
  • 举报
回复
yonghengdizhen

明白了

我按yonghengdizhen说的去做了

然后看见是第17行错误

说类型不匹配

我看了一下

正好是rst1("xszh")=request.form("xszh")开始的这行

这行有错误吗

取得表单的数据我一直是这样的呀

难道?

大家来说说?
wzz24 2002-09-29
  • 打赏
  • 举报
回复
rst.movenext在更新一条记录时是可以的,这个没错。
beini2001 2002-09-29
  • 打赏
  • 举报
回复
回复popcode(紫枫)

这个(yonghengdizhen)是啥意思呀

我不是很明白

望解答

谢谢!
beini2001 2002-09-29
  • 打赏
  • 举报
回复
回复freelyl(飞翔)

你的那两段代码我看不出有什么不同呀

下面的那段加了个""

这样所起的作用你能说说吗

beini2001 2002-09-29
  • 打赏
  • 举报
回复
回复:

我按你说的,改了rst.update

可是仍然还是有错误

错误的方式和方法还是和上次一样

请再帮忙

谢谢!
beini2001 2002-09-29
  • 打赏
  • 举报
回复
明白了

呵呵

这几天在做ASP的注册系统

搞晕头了

谢谢你

现在问题基本解决了

再次感谢
yonghengdizhen 2002-09-29
  • 打赏
  • 举报
回复
<form name="form1" method="post" action="registerok.asp">
<input type="hidden" name="xszh" value=<%=request.form("xszh")%>>
<input type="hidden" name="txtname" value="<%=request.form("txtname")%>">
<input type="hidden" name="sex" value="<%=request.form("sex")%>">
<input type="hidden" name="txtpass" value="<%=request.form("txtpass1")%>">
<input type="hidden" name="txtclass" value="<%=request.form("txtclass")%>">
<input type="hidden" name="jihao" value="<%=request.form("jihao")%>">
<input type="hidden" name="txttime" value="<%=request.form("txttime")%>">
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</form>

<%=request.form("jihao")%>">

丢了"="

全部缺了一个"="号.
popcode 2002-09-28
  • 打赏
  • 举报
回复
是不是数据类型错误?

按 yonghengdizhen做,然后执行,就能看到详细错误信息
freelyl 2002-09-28
  • 打赏
  • 举报
回复
<input type="hidden" name="txttime" value=<%request.form("txttime")%>>
这种方法很危险
要<input type="hidden" name="txttime" value="<%request.form("txttime")%>">
这样好。试试。有时字符变量里面有"你就完了。
yonghengdizhen 2002-09-28
  • 打赏
  • 举报
回复
去掉IE的显示友好HTTP出错信息选项.

检查出错位置先.

你的问题多半出在数据类型上..
zyhowe 2002-09-28
  • 打赏
  • 举报
回复
<input type="hidden" name="xszh" value=<%=request.form("xszh")%>>
<input type="hidden" name="txtname" value=<%=request.form("txtname")%>>
<input type="hidden" name="sex" value=<%=request.form("sex")%>>
<input type="hidden" name="txtpass" value=<%=request.form("txtpass1")%>>
<input type="hidden" name="txtclass" value=<%=request.form("txtclass")%>>
<input type="hidden" name="jihao" value=<%=request.form("jihao")%>>
<input type="hidden" name="txttime" value=<%=request.form("txttime")%>>

最后rst.movenext->rst.update
gshope 2002-09-28
  • 打赏
  • 举报
回复
c:
rst.open "stuinfo",conn,3,1
beini2001 2002-09-28
  • 打赏
  • 举报
回复
如果直接从A递交到B

那没有任何的问题

再次感谢!

28,391

社区成员

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

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