选票/用户投票(超链接输入,数据库和cookie)

ASP新手入门
"Ballot Stuffing" 在任何的选票/用户投票中都能以很多种方式被打败。最受欢迎的方法之一就是通过写入一个cookie(一个小文本文件)到用户的电脑上。用户能阻止这种情况的发生,但是多数的浏览器都设置了很好的cookies。而且,用户能删除cookies和重新提交来自于新浏览器等级的选票,但是多数用户不能删除文件来破坏调查结果(除非他们真的很坚持)。下面的例子会显示出用户第一个访问的一个问题的超链接选择(直到他们投票了,所有访问就会随之而来)。一旦用户选出来一个被写到有选票名称的用户cookie,他们的选票和7天的截止日期,数据库会跟踪输入和结果。

<% poll_name="codeave_poll" 定义正进行选票的名称 accessdb="cookiepoll"  
安排变量数据库到包含选票结果的数据库名称

cn="driver={Microsoft Access Driver (*.mdb)};" cn=cn & "dbq=" & server.mappath(accessdb) set rs = server.createobject("ADODB.Recordset") taken= (request.cookies (poll_name)("u_choice"))
安排一个变量来看用户是否首先选票

u_choice=request.querystring("u_choice") select case u_choice
检查看看用户是否进行了有效的选择

case "1","2","3","4" if taken = "" then
写出投票名称和cookie最近的选择
response.cookies (poll_name)("u_choice") = u_choice
让cookie在7天之内截止
response.cookies (poll_name).expires = DATE + 7
添加一个到用户选择的计算中去

sql = "insert into poll (choice" & u_choice &") " sql = sql & "values ("& 1 &")" rs.Open sql, cn
标志指示已输入表决

just_voted="Yes" end if %> <% case else
忽略用户地址栏输入的错误请求

end select %> <html> <title>www.ttasp.net(Cookie Poll)</title> <body bgcolor="#FFFFFF"> <center> A Question with four possible choices...<br> <%
检查看用户是否预先选了票或者是否在当前的复述里面
if (taken <> "") or (just_voted= "Yes") then
抓住来自数据库的所有的选票结果

sql= "select distinctrow sum(choice1) as sum_choice1, " sql= sql & "sum(choice2) AS sum_choice2, sum(choice3) AS sum_choice3, " sql= sql & "sum(choice4) AS sum_choice4, count(*) AS total_votes " sql= sql & "from poll;" rs.Open sql, cn total1=rs ("sum_choice1") total2=rs ("sum_choice2") total3=rs ("sum_choice3") total4=rs ("sum_choice4") count=rs ("total_votes") %> Choice 1: <%= formatnumber((total1/count)*100,1) %>% &nbsp; Choice 2: <%= formatnumber((total2/count)*100,1) %>% &nbsp; Choice 3: <%= formatnumber((total3/count)*100,1) %>% &nbsp; Choice 4: <%= formatnumber((total4/count)*100,1) %>% &nbsp; <br> Total Votes: <%= formatnumber(count,0,0) %><br> <% 'If this is the users first time here or if they have not 'voted on a previous visit display the question and hyperlinked choices
如果这是用户在这里的首次时间或者如果他们没有在预先访问的时候选票显示问题和超链接选项

else %> <a href="<% request.servervariables("script_name") %>?u_choice=1">Choice 1</a> &nbsp; <a href="<% request.servervariables("script_name") %>?u_choice=2">Choice 2</a> &nbsp; <a href="<% request.servervariables("script_name") %>?u_choice=3">Choice 3</a> &nbsp; <a href="<% request.servervariables("script_name") %>?u_choice=4">Choice 4</a> <% end if %> </html>


相关内容推荐

ASP表单输入到HTML

ASP能写.html或者任何其他的直接到web服务器的文档文本(你需要写文本输出到写权限的目录)。这是能够不需要上传PC的文件用户输入即时的发布信息。 下面的例子有四个输入区域(标

周的天数

想在asp显示当前一周有多少天吗?这个代码会把握住今天的值和利用到案例选择显示一周的天数。 % date_value = date() %%= date_value %br% dayofweek=weekday(date_value) %day number in week %= dayofweek %br%

ASP-条件语句

有时,当我们写代码时,我们要为作出不同的决定而执行不同的操作。我们可以使用条件语句中的代码来做到这一点。条件语句是一套用于执行基于不同条件的不同动作的命令。 为了支

asp获取IP地址的函数

FunctionGetIp() DimDulIp,ProIP DulIp=Request.ServerVariables("HTTP_X_FORWARDED_FOR") ProIP=Request.ServerVariables("REMOTE_ADDR") IfDulIp=""Then GetIp=ProIP Else GetIp=DulIp EndIf EndFunction

编写第一个ASP程序

现在有很多关于ASP编程的教程。其中有些是对于你有帮助,有些完全没有用。甚至有些写得是误人子弟。无论如何,你读过一些关于ASP的内容,现在你已经准备好构建第一个应用程序。

返回
顶部