longjw 发布留言 2008-7-25 09:20
防止刷新重提交表单的问题
我最近才转入ASP行业来的
在做网站的同时碰到了一些问题
在此请教各位大侠
防止表单重复提交的问题
yms123 发布留言 2008-7-25 10:05
如果像论坛这种提交表单后过一定的时间才能提交下一次。
首先,数据库里数据的发布时间一定要存在。
然后查询数据库里最新发布的那条数据的时间
利用DateDiff函数比较当前时间与最新发布时间相差多少分钟
少于1分钟则提示不允许提交,大于1分钟则进行提交。
lele2007 发布留言 2008-7-25 10:21
版主是不是刷新提交时还是对刚才提交的数据进行datediff的比较呢?
lele2007 发布留言 2008-7-25 10:22
百度找了一下,但是看不太懂,要用到session的!
http://www.qsxjz.cn/onews.asp?id=138
tianyu123 发布留言 2008-7-25 10:23
最好是提交后直接转到另一页面
yms123 发布留言 2008-7-25 10:54
[un]lele2007[/un] 在 2008-7-25 10:21 的发言:[/bo]
版主是不是刷新提交时还是对刚才提交的数据进行datediff的比较呢? [/quote] 是对上一次提交的数据进行DateDiff比较BOSS级菜鸟 发布留言 2008-7-25 12:08 用无刷新提交不会出现此问题,
刚把注册登录写出来了http://jie.splan.cn/bbs/ ie7+布局有问题请说明
为了防止机器人,也加了使用间隔,因为禁用了session所以用数据库做的,记录IP和时间,对比时间就行了
以下为类里面的其中一段代码
public sub xie '这是写入 dim a a=ip() conn.execute"insert into sess(ip,dd) values('" & a & "','" & now() & "')" end sub
public sub du '这是读出 dim a a=ip() conn.execute"delete from sess where datediff('s',dd,'" & now() & "')>10" create_rs "select ip from sess where ip='" & a & "'" end sublele2007 发布留言 2008-7-25 13:43 [un]yms123[/un] 在 2008-7-25 10:54 的发言:[/bo]
是对上一次提交的数据进行DateDiff比较 |
版主,那怎么获得上次的写放的数据的?[em08]yms123 发布留言 2008-7-25 14:03 [quote][un]lele2007[/un] 在 2008-7-25 13:43 的发言:[/bo]
版主,那怎么获得上次的写放的数据的?[em08] |
提交表单的操作一般都是将当前数据存入数据库,在存入数据库操作之前。
用数据库查询获得要存入的那个表的最新存入的数据,这个数据就是上一次存入的。
然后用上一次存入的数据的时间与当前时间进行DateDiff比较如果时间小于间隔时间就不把提交的数据存入数据库并提示用户,否则就将提交的数据存入数据库。
页: [1]