注册 登录
编程论坛 ASP技术论坛

刷新之后就会提交,为什么!!在线等候??

xiaoyangyjs 发布于 2008-01-08 20:55, 729 次点击
if request.Form("submit")<>"" then
title=request.form("title")
email=request.form("email")
url=request.form("url")
lianxi=request.form("lianxi")
bodys=request.form("bodys")
end if
set ly=server.createobject("adodb.recordset")
ly.open "select * from liuyan",conn,1,3
ly.addnew
ly("title")=title
ly("email")=email
ly("url")=url
ly("lianxi")=lianxi
ly("bodys")=bodys
ly.update
response.Write("<script>alert('留言成功!!');</script>")

这一段代码有问题,在提交之后,就是添加一条记录,刷新也会添加一条记录,请问如何改才能完善呢??帮帮忙???
4 回复
#2
xmuer2008-01-08 23:31
ly.close?
ly.close
set ly=nothing
把记录集关了试试,看它添加什么。
#3
永夜的极光2008-01-09 08:27
一般是这样的,让用户输入的页面和实际添加进数据库的页面是不同的
比如用户留言的页面是guestbook.asp,这个页面接受用户输入,并把数据post给写入数据库的页面,比如叫save.asp.这个写入数据库的页面,写完数据后,用response.redirct(""),将页面重定向到其它的网页,可以还是重定向回到guestbook.asp.这个时候表单的数据都是空白的了,只要用js判断一下就可以了.
如果你不想这样干,也可以限制用户每次留言的间隔时间,
#4
xmuer2008-01-09 08:50
看看这个~
<form action="add_class.asp?action=ok" method="post" name="addclas">
    <input type="text" value="请输入您要添加的分类" name="newclass">
    <input type="submit" value="提交">
    </form>
    <%
    if request("action")="ok" then
    call add_class()
    end if
    %>
    <%
    sub add_class()
    Dim newclass
    newclass=request.Form("newclass")
    set rs=server.CreateObject("adodb.recordset")
    sql="select * from class"
    rs.open sql,conn,3,3
    rs.addnew
    rs("class")=newclass
    rs.update
    rs.close
    set rs=nothing
    response.Redirect("add_class.asp")
    end sub
    %>
#5
lq73506842008-01-09 11:45
if request.Form("submit")<>"" then
title=request.form("title")
email=request.form("email")
url=request.form("url")
lianxi=request.form("lianxi")
bodys=request.form("bodys")

set ly=server.createobject("adodb.recordset")
ly.open "select * from liuyan",conn,1,3
ly.addnew
ly("title")=title
ly("email")=email
ly("url")=url
ly("lianxi")=lianxi
ly("bodys")=bodys
ly.update
response.Write("<script>alert('留言成功!!');</script>")
end if
1