asp中防止用户重复提交报名的方法

我用asp做了个网站;有个在线报名的表单提交;放到服务器上后;有很多用户多次提交重复的数据;造成了垃圾信息;我想要用cookies来验证用户是否提交过信息;然后如果提交后... 我用asp做了个网站;有个在线报名的表单提交;放到服务器上后;有很多用户多次提交重复的数据;造成了垃圾信息;
我想要用cookies来验证用户是否提交过信息;然后如果提交后就直接弹出提示;您已经提交了;请不要重复提交;

哪位帮忙提供下这个代码;O(∩_∩)O谢谢
展开
 我来答
三威硒鼓
2011-06-22 · 超过35用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:93.1万
展开全部
你说的问题有二个可能:
A:用户已经报名了,又再次报名
B:不同的用户报名,但名字一样
解决方法:
A:用户报名后用session("user")来判断,如果不为空,则提示已经报过名;
例:
添加报名页面代码
<%
if session("user")<>"" then
response.write "<script language='javascript'>window.confirm('你已经报过名了!')</script>"
response.write "<script language='javascript'>parent.window.history.go(-1);</script>"
response.end
esle
// 打开数据库前先判断,如果session("user")不为空,刚提示已经报过名了,返回到上一页面;相反,如果session("user")为空,则执行下面的代码
set rs=server.createobject("adodb.recordset")
sql="select * from 表名 where user='"&Request("user")&"'"
rs.open sql,conn,1,3
if not rs.eof then
response.write "<script language='javascript'>window.confirm('数据库中已存在用户名!')</script>"
response.write "<script language='javascript'>parent.window.history.go(-1);</script>"
response.end
else
rs.AddNew
rs("user")=Request("user")
rs.update
session("user")=user //用户报名后会传递此值
rs.close
set rs=nothing
end if //判断结束语句
%>
B:在数据添加时加个条件判断,如果数据库中已存在相同名字,刚返回报名页面,并提示已有此用户名。
例:
假定数据库中用户名字段为user及表单页的输入用户名的表单名为user
<%
set rs=server.createobject("adodb.recordset")
sql="select * from 表名 where user='"&Request("user")&"'" //打开数据库的条件
rs.open sql,conn,1,3
if not rs.eof then //如果打开数据库的条件成立(意思数据库中已有此用户名),则输出
response.write "<script language='javascript'>window.confirm('数据库中已存在用户名!')</script>"
response.write "<script language='javascript'>parent.window.history.go(-1);</script>"
response.end //输出语句结束
else //如果相反(打开数据库的条件不成立,也就意思数据库中没有同名的的用户)
rs.AddNew //添加用户代码
rs("user")=Request("user")
rs.update //添加用户代码结束
rs.close
set rs=nothing //数据库连接结束
%>
eadio
2015-06-30 · TA获得超过1610个赞
知道小有建树答主
回答量:962
采纳率:80%
帮助的人:1009万
展开全部
一般就是通过是真实名称或者手机号或者是身份证来过滤的吧!

通常来说报名考试系统都是要真实名称【可能重复名称】的或者手机号或者身份证等唯一序列,
但是名称也有可能是重名,所以我觉得用手机号比较快,在提交的时候验证下手机号码是否是合格的号码,然后就可以通过sql语句过滤了,没找到记录,添加记录,否则返回已经提交过了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友94f02eb
2015-05-29 · TA获得超过8612个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4421万
展开全部

防止用户重复提交的方式有多种,基础是在数据入库前,一定要先判断是否已经存在相同关键词的数据了,如果存在,直接拒绝。提交前的预防方法,常用的:

  1. 提交界面增加 图片验证码

  2. 点击提交按钮后,在数据回发前,禁用掉 提交按钮

  3. 给每次的表单生成一个随机码,和其他信息一同提交

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bnx1976
2011-06-22 · TA获得超过161个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:308万
展开全部
不要用cookies来做这种校验,最好还是在每次提交保存前,判断一下是否有报名记录为好!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
richejxp
2011-06-21 · TA获得超过3106个赞
知道大有可为答主
回答量:2892
采纳率:40%
帮助的人:2283万
展开全部
可以使用COOKIES,具体方法百度一大堆。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式