asp投票系统(ASP 投票管理系统)

本文目录
- ASP 投票管理系统
- 谁知道怎么用asp.net做个投票系统
- asp投票系统被人恶意投票
- asp图片投票系统,怎么修改这个ASP投票系统
- ASP.NET投票系统
- asp投票系统
- 请求高手指导:使用ASP.net的投票系统,如何设置一个用户每天只能投一票!
ASP 投票管理系统
现在越来越多的朋友都建立了自己的个人主页,看着计数器的数字每日不断地增加,心里有说不出的高兴---自己的东东终于有个赏识了。但如果才能了解网友们到底喜欢那方面的内容呢?我能不能搞一个调查系统,在网友中进行调查呢?这成了每个网主的心头大事。当然可以啦,只要你申请的免费空间有支持ASP环境,下面我教大家如何利用数据库建立一套线上投票调查系统,你只要将调查有主题,调查选项存入数据库,就可以通过ASP将投票调查系统显示在客户端,而且这套系统可以存入多笔调查主题,只要在投票起始日期和投票截止日期设定无误,则调查主题将会定时更新,完全不需担心调查主题不够新颖。 现在我们就开始建立这一套投票调查系统,首先你必须先建立一个关联性数据库,数据库中包含两个资料表格,表格字段定义如下: Poll PollOption PollID 自动编号 PollOptionID 自动编号 PollQuestion 文字 PollID 数字 DateStart 日期/时间 QuestionText 文字 DateEnd 日期/时间 Votes 数字 这两个资料是以PollID为关联性所建立的,如果你不了解该如何建立表格关联性,没关系,我已经将数据库的关联性设定好了,或者你可以去参考有关数据库的书,数据库建立完成之后马上就让我们进入投票调查系统原始程序vote.asp vote.asp
《% Language=VBScript %》
《!--#include file="adovbs.inc"--》
《%
Dim strConnect (注:指定数据库路径)
strConnect = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath
("/asp/poll/poll.mdb") & ";DefaultDir=" & Server.MapPath("/asp/poll") & ";DriverId=25;FILE=MS Access;MaxBufferSize=512;PageTimeout=5"
Const iWidth = 200 (注:定义投票接口表格宽度)
Set objConn = Server.CreateObject("ADODB.Connection")(注:建立数据库连结)
objConn.Open strConnect (注:开启数据库连结)
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")(注:建立数据库对象集合) 上面完成了投票调查系统原始程序vote.asp,为了让利用这个网上投票调查系统所得的结果更具真实性,下面将要建议一个检测系统,检查访问者今天是否已经投过票了。 Dim strVoted
strVoted = Request.Cookies("Voted")(注:利用Cookies值判定访问者是否投过票) Dim strSQL
%》 为了不让访问者在同一天内重复投票,所以我们用了一个Request.Cookies("Voted") 来限制访问者一天只能投一次票,这样子的方法比较能够看出投票结果的客观性,如何控制Cookies,这个在下面我向大家介绍: 《BODY》
《% if strVoted = "Yes" then (注:如果已经投过票了,就显示投票结果)
strSQL = "SELECT PollOption.PollOptionID, PollOption.QuestionText,
PollOption.Votes, " & "Poll.PollQuestion " & _
"FROM Poll INNER JOIN PollOption ON Poll.PollID = PollOption.PollID " & _
"WHERE Poll.DateStart 《= #" & Date & "# AND Poll.DateEnd 》= #" & Date & "#;" (注:从 PollOption资料表格中选取PollOptionID、QuestionText、Votes三个字段的值,选取的条件是两个资料表格中PollID相同的资料,而且投票起始日期必须在今天之前,投票截止日期必须在今天之后。) (注:建立一个动态数组,不管答案选项有多少都能函括在内。) Dim PollOptions()
Redim PollOptions(objRS.RecordCount,2)
Dim iCount, iTotalVotes, strPollName
iCount = 0
iTotalVotes = 0
strPollName = CStr(objRS("PollQuestion"))
Do While Not objRS.EOF
PollOptions(iCount,1) = CInt(objRS("Votes"))
PollOptions(iCount,2) = CStr(objRS("QuestionText"))
iTotalVotes = iTotalVotes + PollOptions(iCount,1)
iCount = iCount + 1
objRS.MoveNext
Loop
%》
《TABLE BORDER=0 CELLSPACING=0 WIDTH=《%=iWidth%》》
《TR》《TH BGCOLOR=6666f0》《FONT COLOR=WHITE FACE=Arial SIZE=2》
《%=strPollName%》
《/FONT》《/TH》《/TR》
《TR》
《TD BGCOLOR=000000》
《%
Dim iLoop
For iLoop = 0 to iCount-1 %》
《FONT FACE=Arial SIZE=2 color=ffffff》《%=PollOptions(iLoop,2)%》 (《%
=FormatPercent(PollOptions(iLoop,1)/iTotalVotes,1)%》 )
《/FONT》《%’先将投票选项印出, 再将投票结果印出%》《%’数组中(0,1)(1,1)(2,1)放的是投票结果,
而数组中(0,2)(1,2)(2,2)放 的是投票选项%》
《TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0》
《TR》《TD WIDTH=《%=CInt((PollOptions(iLoop,1)/iTotalVotes)*iWidth)%》
《BGCOLOR=yellow》
《/TD》
《/TR》
《/TABLE》
《BR》
《% Next %》
《FONT FACE=Arial SIZE=2》总投票数: 《%=iTotalVotes%》《/FONT》
《/TD》《/TR》《/TABLE》 下面这张图就是投票结果
图1 如果还没投票,就显示投票窗口: 《%
else
strSQL = "SELECT PollOption.PollOptionID, PollOption.QuestionText,
Poll.PollQuestion " & "FROM Poll INNER JOIN PollOption ON Poll.PollID =
PollOption.PollID " & "WHERE Poll.DateStart 《= #" & Date & "# AND Poll.DateEnd 》
= #" & Date & "#;" (注:从 PollOption资料表格中选取PollOptionID、QuestionText、Votes三个字段的值,选取的条件是两个资料表格中PollID相同的资料,而且投票起始日期必须在今天之前,投票截止日期必须在今天之后。) objRS.Open strSQL, objConn
%》
《FORM METHOD=POST ACTION="voteResults.asp" ONSUBMIT="return
OneOptionChecked();" NAME=frmPoll》
《TABLE BORDER=0 CELLSPACING=0 WIDTH=《%=iWidth%》》
《TR》《TH BGCOLOR=6666f0》《FONT COLOR=WHITE FACE=Arial SIZE=2》
《%=objRS("PollQuestion")%》
《/FONT》《/TH》《/TR》《TR》《TD BGCOLOR=000000》
《%
Do While Not objRS.EOF %》
《INPUT TYPE=RADIO NAME=radPoll value="《%=objRS("PollOptionID")%》"》
《FONT FACE=Arial SIZE=2 color=white》《%=objRS("QuestionText")%》《/FONT》
《BR》
《%
objRS.MoveNext
Loop
%》
《INPUT TYPE=HIDDEN NAME="URLFrom" value="《%=Request.ServerVariables
("SCRIPT_NAME")%》"》
《BR》《CENTER》《INPUT TYPE=SUBMIT value="投票去!"》《/CENTER》
《/TD》《/TR》《/TABLE》
《/FORM》
《P》
《% end if %》
《/BODY》
《/HTML》
《%
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%》 下图就是显示的投票
接下来就到了编写处理投票结果的程序voteresults.asp voteresults.asp
《%@ Language=VBScript %》
《% Option Explicit %》
《%
Response.ExpiresAbsolute = Now() – 1(注:设定网页保留在客户端Cach中之期限为昨天,当然你可以根据你的情况进行设定。)
下面先将投票值加一
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & _
Server.MapPath("Poll.mdb") & ";"
objConn.Open
(注:将表格中传来的radPoll字段(PollOptionID)传给iPollOptionID)
Dim iPollOptionID
iPollOptionID = CInt(Request("radPoll"))
objConn.Execute "UPDATE PollOption SET Votes = Votes + 1 " & _
"WHERE PollOptionID = " & iPollOptionID
(注:关闭数据库。)
objConn.Close
Set objConn = Nothing
(注:投票完之后将Cookies值写回访问者硬盘)
Response.Cookies("Voted") = "Yes"
(注:将Cookies值过期日设为一天)
Response.Cookies("Voted").Expires = DateAdd("d",1,Date)
Response.Cookies("Voted").Path = "/asp/poll"(注:投票档案的相对路径。)
注:投票完之后就将访问者导回vote.asp
Response.Redirect Request("URLFrom")
%》 到这里一个简单的投票调查系统已经完成了,希望能对你有所帮助。
谁知道怎么用asp.net做个投票系统
首先得选个数据库,然后建立一个投票选项的表,
再在表中添加你要进行投票的选项。然后用web编程语言做个界面,每次提交都把选中的项+1就行
真的很简单的!http://www.knowsky.com/339824.html
这边有个例子..jiu
shi
asp投票系统被人恶意投票
你在前台不显示该投票对象,但在数据库中还存在!恶意投票的不是通过点你的连接实现投票的!!而是直接向你的服务器发送你需要的数据!!所以他们能够继续投的原因!!投票的时候你不是给每个对象都有唯一的索引吗? 如:.asp?id=11等!你数数据库中那个索引改一下,他们就没戏了!!如果你要防止恶意投票,你可以加入汉字验证码!!因为目前还没被破解,是最好的办法!!
asp图片投票系统,怎么修改这个ASP投票系统
这列是纪录票数,为整型
第一个页面,你是通过读取数据库中图片的纪录嘛,这样很容易获得图片ID咯。
当第一个页面跳转到第二个页面的同时,将图片ID传递到第二个页面,读取图片需要ID,在读取图片的同时,将票数读取出来,这里暂时定义为count。
投票事件以统计更新:当点击“投票”的时候,让count=count+1,同时写如数据库。
这样就实现了你所说的功能。
但是,为了防止恶意刷投票,我们通常会将用户IP地址在他投票的同时纪录下来,保存到数据库中,如果这个IP已经投票过了,那么就不能再次投票了。
说得比较清楚了,如果还是不会改的话,可以发代码到我邮箱,或者我有空的时候给你做一个这样的系统。我的邮箱是:jcqiuzhihua@163.com
ASP.NET投票系统
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection conn = new SqlConnection("Data source=localhost;Initial catalog=webvotedb;Persist security info=true;user id=sa");
string sqlstr = "select * from votes";
SqlDataAdapter sda = new SqlDataAdapter(sqlstr, conn);
DataSet ds = new DataSet();
sda.Fill(ds, "votes");
CheckBoxList1.DataSource = ds;
CheckBoxList1.DataTextField = "item";
CheckBoxList1.DataValueField = "voteid";
CheckBoxList1.DataBind();
}
}
这样就可以了,
应为页面回发服务器以后又会执行一次代码,加载事件的代码再次被执行,你之前选的就会消失,下面判断的时候就会一个都没选中,就这样了
asp投票系统
网站限制了cookie,只要把浏览器关掉,再重新打开,点菜单 工具 internet选项,浏览历史记录里的删除 删除cookie,再打开投票的网址,就可以再投一票了!
反复可以无限投!
以前做过一个软件可以自动刷票,很快的,一天刷个几十万个,就是这个原理。不过网站后台能看出来IP地址的。
请求高手指导:使用ASP.net的投票系统,如何设置一个用户每天只能投一票!
设置一个用户每天只能投一票!
首先要定义:一个用户 每天 这2个概念;
如果是有用户登录的,一个用户好理解,否则可以用IP地址来定义;
有了这个概念,就可以在系统中,用数据库来记录 “用户的投票时间和编号(或者IP地址)”;
当新用户要投票时,先到该数据库中查询一下,即可实现。

更多文章:
真的不是作梦,噗浪推出五年后终于在 Android 释出首个官方 app?最右帖子怎么隐藏呢
2026年6月13日 04:30
一拳超人第二季(对于最近完结的《一拳超人》第二季你有什么看法)
2026年11月3日 23:00
暗黑血统2终极版修改器(为什么我的暗黑血统2不能用25项修改器上次还能用的)
2026年3月5日 05:15
pp助手ios版下载正版手机下载(如何安装PP助手iOS版PP助手iOS版安装方法)
2026年6月24日 11:40

















