当前位置:编程学习 > asp >>

自己写的ASP 留言版程序,F5刷新老是写空数据库,将数据写空,对高手来说很简单把代码贴出望高手看一

自己写的ASP 留言版程序,F5刷新老是写空数据库,将数据写空,对高手来说很简单把代码贴出望高手看一下.
<html>
<body>

<tbale><tr><td height="50" align="center" style="font-size:12px;">留言列表:<br/>
<%
actions=trim(request("act"))
if actions = "ok" then
xiaotang1=trim(request("xiao1"))'姓名
xiaotang2=trim(request("xiao2"))'地址
xiaotang3=trim(request("xiao3"))'QQ
xiaotang4=trim(request("xiao4"))'内容
'if xiaotang1 = "" and xiaotang2 = "" and xiaotang3 = "" and xiaotang4 = "" then
'response.write "<script>alert('留言所有内容不得为空')</script>"
'end if
%>
<%
dim conn,sql,rs
set conn = server.createobject("adodb.connection")
conn.connectionstring="Provider = Microsoft.Jet.OLEDB.4.0;Data Source="&server.mapPath("db2.mdb")
conn.open

sql ="insert into liuyan(name,qq,address,content) values('"&xiaotang1&"','"&xiaotang3&"','"&xiaotang2&"','"&xiaotang4&"')"
conn.execute(sql) '这个方法用来执行sql语句

Set rs = Server.CreateObject("ADODB.Recordset")
sql = "select * from liuyan order by id desc"
rs.open sql, conn, 1, 1
rs.pagesize = 8
if isnumeric(request.querystring("page")) then
if request.querystring("page")="" or cint(request.querystring("page")) < 1 then
rs.absolutepage = 1
elseif cint(request.querystring("page")) > rs.pagecount then'这里内嵌的IF循环一定要和else 写在连在一起,不然还要写个end if
rs.absolutepage = rs.pagecount
else
rs.absolutepage = request.querystring("page")
end if
else
rs.absolutepage = 1
end if
%>

<p align="center">一共有<%=rs.recordcount%>条数据</p>
<p align="center">

<%for i=1 to rs.pagecount


response.write "<a href='tiaozhuan.asp?act=ok&page="&i&"'>"&i&"</a>|"
next
%></p>
<%
for i = 1 to rs.pagesize
if rs.eof then exit for
%>
<p align="letf">姓名:<%=rs("name")%>     地址:<%=rs("address")%>     QQ:<%=rs("qq")%>      留言内容:<%=rs("content")%></p>

<% rs.movenext

next
%>
<%else%><p align="center">暂时没有留言</p><% end if%>
</table>
<%
'rs.close
set rs = nothing
conn.close
set conn = nothing
%>
</body>
</html>
按F5 来是 能把空数据写入到数据库,点页数也是,直接把空数据写入数据库.
答案:我帮你修改了 ,你仔细看看吧,或者复制下来 运行试试,应该没有问题的。
你可以Hi我:

<html>
<body>

<table><tr><td height="50" align="center" style="font-size:12px;">留言列表:<br/>
<%
actions=trim(request("act"))
if actions = "ok" then
xiaotang1=trim(request("xiao1"))'姓名
xiaotang2=trim(request("xiao2"))'地址
xiaotang3=trim(request("xiao3"))'QQ
xiaotang4=trim(request("xiao4"))'内容
if xiaotang1 = "" and xiaotang2 = "" and xiaotang3 = "" and xiaotang4 = "" then
response.write "<script>alert('留言所有内容不得为空')<"&"/script>"
response.End()
end if
%>
<%
dim conn,sql,rs
set conn = server.createobject("adodb.connection")
connstring="Provider = Microsoft.Jet.OLEDB.4.0;Data Source="&server.mapPath("db2.mdb")
conn.open connstring

sql ="insert into liuyan(name,qq,address,content) values('"&xiaotang1&"','"&xiaotang3&"','"&xiaotang2&"','"&xiaotang4&"')"
conn.execute sql '这个方法用来执行sql语句

Set rs = Server.CreateObject("ADODB.Recordset")
sql = "select * from liuyan order by id desc"
rs.open sql, conn, 1, 3
if not (rs.eof or rs.bof) then
rs.pagesize = 8
if isnumeric(request.querystring("page")) then

if request.querystring("page")="" or cint(request.querystring("page")) < 1 then

rs.absolutepage = 1
elseif cint(request.querystring("page")) > rs.pagecount then'这里内嵌的IF循环一定要和else 写在连在一起,不然还要写个end if

rs.absolutepage = rs.pagecount
else

rs.absolutepage = request.querystring("page")
end if
else

rs.absolutepage = 1
end if
%>

<p align="center">一共有<%=rs.recordcount%>条数据</p>
<p align="center">
<%
for i=1 to rs.pagecount

response.write "<a href=> next
%></p>
<%
for i = 1 to rs.pagesize
if rs.eof then exit for
%>
<p align="letf">姓名:<%=rs("name")%>
地址:<%=rs("address")%>
QQ:<%=rs("qq")%>
留言内容:<%=rs("content")%></p>
<% rs.movenext
next
%>
<%
else
%><p align="center">暂时没有留言</p>
<%
end if
set rs = nothing
conn.close
set conn = nothing
end if
%>
</td>
</tr>
</table>
</body>
</html>

上一个:asp读取字段错误,数据库中一读取数据就出现错误,下面是代码,在读rst("bigclassname") 就错误,求赐教!
下一个:有人会ASP数据库操作吗,帮我调试一段代码,谢谢

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,