我有一段代码,如何改成防止重复刷新?

camry82 2008-04-14 10:34:24
我有一段代码,如何改成防止重复刷新?

代码如下:

<%
set conn=server.createobject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("dbcard.mdb")
conn.open connstr
'下面是查询结果,再显示页面
tt=request.QueryString("tt")
If tt="showcdk" then
set rs=server.createobject("adodb.recordset")
selectstr="select top 1 id from cdk"
rs.open selectstr,conn,1,3
if not rs.bof then
CardValue=rs.fields.item("id").value
rs.delete 1
else
response.write"<center><b id='CardStyle'>呵呵,不好意思已经领完了,请过会再来!</b></center>"
end if
response.write "<center><b id='CardStyle'>"&CardValue&"</b></center>"
End If
%>
<script>
function CardID()
{
window.location="GameCard.asp?tt=showcdk";

}

</script>
<center>
<form name="sform" >
<%if session("first")<>"ok" then%>
<input id="ShowCardButton" type="button" value="点我免费领卡" onClick="CardID()">
<% session("first")="ok"
else%>
<input id="ShowCardButton" type="button" value="点我免费领卡" disabled="true">
<%end if%>
</form>

现在代码我改成了点击一次按钮自动变灰.但刷新页面后卡号会自动刷新到下一条.有什么办法可以改成只能取数据库的一条记录
当刷新或重复点击按钮时弹出警告框说提示已领取过了,并关闭当前窗口.这样的代码应该怎么写.谢谢了~
...全文
129 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
camry82 2008-04-14
  • 打赏
  • 举报
回复
有什么方法可以控制点击一次后在当前页面再次点击就会提示已领过了?
camry82 2008-04-14
  • 打赏
  • 举报
回复
我测试了这样放:

<form name="sform" >
<%if session("first")<>"ok" then%>
<input id="ShowCardButton" type="button" value="点我免费领卡" onClick="CardID()">
<% session("first")="ok"
else%>
<%end if%>
<%if session("mark") <> "" then%>
<%response.write" <center> <b id='CardStyle'>呵呵,你已经领过了! </b> </center>"
response.end
else session("mark") = "mark"
end if %>
</form>

点了后按钮消失.但刷新页面卡号会自动取下一条显示.....
camry82 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 songpengasp 的回复:]
if session("mark") <> "" then
response.write" <center> <b id='CardStyle'>呵呵,不好意思已经领完了,请过会再来! </b> </center>"
response.end
else session("mark") = "mark"
end if
[/Quote]

你好.你这代码是这样放吗?
<%
set conn=server.createobject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("dbcard.mdb")
conn.open connstr
'下面是查询结果,再显示页面
tt=request.QueryString("tt")
If tt="showcdk" then
set rs=server.createobject("adodb.recordset")
selectstr="select top 1 id from cdk"
rs.open selectstr,conn,1,3
if not rs.bof then
CardValue=rs.fields.item("id").value
rs.delete 1
else
if session("mark") <> "" then
response.write" <center> <b id='CardStyle'>呵呵,不好意思已经领完了,请过会再来! </b> </center>"
response.end
else session("mark") = "mark"
end if
response.write" <center> <b id='CardStyle'>呵呵,不好意思已经领完了,请过会再来! </b> </center>"
end if
response.write " <center> <b id='CardStyle'>"&CardValue&" </b> </center>"
End If
%>
<script>
function CardID()
{
window.location="GameCard.asp?tt=showcdk";

}

</script>
<center>
<form name="sform" >
<%if session("first") <>"ok" then%>
<input id="ShowCardButton" type="button" value="点我免费领卡" onClick="CardID()">
<% session("first")="ok"
else%>
<input id="ShowCardButton" type="button" value="点我免费领卡" disabled="true">
<%end if%>
</form>


这样放当下个人点击时也是显示没有卡了的?
No_Data_Found 2008-04-14
  • 打赏
  • 举报
回复
if session("mark") <> "" then
response.write" <center> <b id='CardStyle'>呵呵,不好意思已经领完了,请过会再来! </b> </center>"
response.end
else session("mark") = "mark"
end if
No_Data_Found 2008-04-14
  • 打赏
  • 举报
回复
if session("mark") <> "" then response.write" <center> <b id='CardStyle'>呵呵,不好意思已经领完了,请过会再来! </b> </center>"
else session("mark") = "mark"
end if

放在开始 位置
camry82 2008-04-14
  • 打赏
  • 举报
回复
好像没什么人哦~~~
camry82 2008-04-14
  • 打赏
  • 举报
回复
急呀.请大家帮帮忙了~~
camry82 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 songpengasp 的回复:]
cookie 或者 session 或者 ip 标记下

类似 防止重复投票
[/Quote]

要怎么写代码或改上边的代码呢?谢谢.偶是新手~
No_Data_Found 2008-04-14
  • 打赏
  • 举报
回复
cookie 或者 session 或者 ip 标记下

类似 防止重复投票
camry82 2008-04-14
  • 打赏
  • 举报
回复
谢谢楼上的.我测试了.这样放代码打开就直接取出卡号,点击按钮就提示领过了.但始终不能防止刷新.刷新依然自动取出下一条记录~~....
  • 打赏
  • 举报
回复
set conn=server.createobject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("dbcard.mdb")
conn.open connstr
'下面是查询结果,再显示页面
tt=request.QueryString("tt")
If tt="showcdk" then
if session("lq")=true then response.write" <center> <b id='CardStyle'>呵呵,你已经领过了,请过会再来! </b> </center>"
else

set rs=server.createobject("adodb.recordset")
selectstr="select top 1 id from cdk"
rs.open selectstr,conn,1,3
if not rs.bof then
CardValue=rs.fields.item("id").value
rs.delete 1
session("lq")=true
else
response.write" <center> <b id='CardStyle'>呵呵,不好意思已经领完了,请过会再来! </b> </center>"
end if
end if
response.write " <center> <b id='CardStyle'>"&CardValue&" </b> </center>"
End If
  • 打赏
  • 举报
回复
set conn=server.createobject("adodb.connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("dbcard.mdb")
conn.open connstr
'下面是查询结果,再显示页面
tt=request.QueryString("tt")
If tt="showcdk" then
if session("lq")=true then
response.write" <center> <b id='CardStyle'>呵呵,你已经领过了,请过会再来! </b> </center>"
else
set rs=server.createobject("adodb.recordset")
selectstr="select top 1 id from cdk"
rs.open selectstr,conn,1,3
if not rs.bof then
CardValue=rs.fields.item("id").value
rs.delete 1
session("lq")=true
else
response.write" <center> <b id='CardStyle'>呵呵,不好意思已经领完了,请过会再来! </b> </center>"
end if
end if
response.write " <center> <b id='CardStyle'>"&CardValue&" </b> </center>"
End If
camry82 2008-04-14
  • 打赏
  • 举报
回复
请朋友帮忙指点一下.谢谢.急用~
camry82 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 oldjwu 的回复:]
把六楼的代码放在页面的最上面,

set conn=server.createobject("adodb.connection") 的上面。
[/Quote]

这样放好像1张也领不了.点了就提示已领过了~?
oldjwu 2008-04-14
  • 打赏
  • 举报
回复
把六楼的代码放在页面的最上面,

set conn=server.createobject("adodb.connection") 的上面。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧