免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2321 | 回复: 14
打印 上一主题 下一主题

[表单 验证 ] 多次填写表单内容 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-07 12:38 |只看该作者 |倒序浏览
使用表单向数据库添加数据时,如果刷新浏览器,会再次将上次填写的内容写到数据库中,如何避免这种问题,多谢了。

论坛徽章:
0
2 [报告]
发表于 2005-04-07 12:43 |只看该作者

[表单 验证 ] 多次填写表单内容

form你应该设置一个 submit按钮吧,操作数据库前判断一下submit的值就可以了啊。

论坛徽章:
0
3 [报告]
发表于 2005-04-07 14:46 |只看该作者

[表单 验证 ] 多次填写表单内容

不行呀,只要提交过数据后,SUBMIT的值就存在了,刷新网页后,依旧会将上次填写的数据再次写入数据库中。

论坛徽章:
0
4 [报告]
发表于 2005-04-07 15:12 |只看该作者

[表单 验证 ] 多次填写表单内容

如果你不用验证码,不设置session的话,可以写完数据库后将页面转到操作成功的页面(success.php)。这样会解决你的问题。

论坛徽章:
0
5 [报告]
发表于 2005-04-08 13:35 |只看该作者

[表单 验证 ] 多次填写表单内容

这样你看行吗,在from里加个value,但表单submit之前先给javascript处理一下,value赋值为一个时间戳,然后在submit,再用后台程序比较一个时间差,如果这个时间差大于一个数就不执行语句.

不过这个也有缺陷,如果用户频繁的刷新,这就不知道这个时间差将是多少了

而且也可能由于网络问题.......

大家讨论以下谁有更好的解决方案

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
6 [报告]
发表于 2005-04-08 22:15 |只看该作者

[表单 验证 ] 多次填写表单内容

这个很简单的,当用户要填写的时候,我们分配个一个随机码,等提交的时候,我们会检查数据记录之中是否有随机码为当前码的数据,如果没有,插入,如果有,错误

论坛徽章:
0
7 [报告]
发表于 2005-04-09 10:13 |只看该作者

[表单 验证 ] 多次填写表单内容

[quote]原帖由 "HonestQiao"]这个很简单的,当用户要填写的时候,我们分配个一个随机码,等提交的时候,我们会检查数据记录之中是否有随机码为当前码的数据,如果没有,插入,如果有,错误[/quote 发表:


这样好像也得用session 来记录那个随机码吧

论坛徽章:
0
8 [报告]
发表于 2005-08-26 11:07 |只看该作者

[表单 验证 ] 多次填写表单内容

呵呵,按关键字(如姓名、标题)查询库,存在相同的,就die,不同就insert

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
9 [报告]
发表于 2005-08-26 12:08 |只看该作者

[表单 验证 ] 多次填写表单内容

原帖由 "lnux" 发表:


这样好像也得用session 来记录那个随机码吧



这个不用session的。

例如在生成表单时,你就生成一个随机码作为表单的一部分。

用户提交的时候,你的程序当然会接受这个随机码,去数据库查一查,如果不存在包含这个随机码的记录,那么提交有效,并把随机码最为提交的一部分保存到数据库。

它如果不刷新表单的那个页面,使得服务器生成新的随机码发送到表单,他是无法再次提交并插入数据库的。

论坛徽章:
0
10 [报告]
发表于 2005-08-26 17:33 |只看该作者

[表单 验证 ] 多次填写表单内容

原帖由 "HonestQiao" 发表:



这个不用session的。

例如在生成表单时,你就生成一个随机码作为表单的一部分。

用户提交的时候,你的程序当然会接受这个随机码,去数据库查一查,如果不存在包含这个随机码的记录,那么提交有效,并把随..........

两次不同的提交,产生两个相同的随机码,那第二次也不能写入数据库
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP