吳三柱
摘要:隨著互聯(lián)網(wǎng)的不斷發(fā)展,越來越多的生活與互聯(lián)網(wǎng)息息相關(guān)。為了進(jìn)一步全面、廣泛地獲取群眾心聲,高等院校利用網(wǎng)絡(luò)在線投票來獲取較公平、公開、公正的投票結(jié)果,該系統(tǒng)采用ASP語言設(shè)計實(shí)現(xiàn)了一種基于B/S模式的網(wǎng)絡(luò)在線投票系統(tǒng),系統(tǒng)具有網(wǎng)站內(nèi)容管理、評選信息設(shè)置、在線投票等功能。
Abstract: With the development of the Internet, more and more lives are connected to the Internet. Colleges and universities use online voting to obtain more fair, open and just voting results in order to further obtain the masses' opinions widely. Based on B/S mode, the system uses ASP language design to realize a online voting system. It has the website content management, selection of information settings, online voting and other functions.
關(guān)鍵詞:在線投票;B/S;ASP
Key words: online voting;B/S;ASP
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-4311(2018)19-0203-02
1 系統(tǒng)設(shè)計
1.1 功能結(jié)構(gòu)
在線投票系統(tǒng)功能結(jié)構(gòu)如圖1所示,分為投票系統(tǒng)前臺和投票系統(tǒng)后臺兩大模塊。每個模塊的功能如下:
①投票系統(tǒng)前臺。投票系統(tǒng)前臺主要由投票選項(xiàng)、排行榜、活動介紹、投票規(guī)則和主辦單位組成。投票選項(xiàng)包含所有參賽作品縮略圖,用戶可以通過點(diǎn)擊某個參賽作品的詳細(xì)信息便可瀏覽其完整圖和詳細(xì)簡介,對于喜愛的作品可以通過點(diǎn)擊參賽作品的投票支持進(jìn)行投票;排行榜主要功能是對所有參賽作品中以投票數(shù)降序排序的前十名作品進(jìn)行展示;活動介紹主要介紹舉辦活動目的、活動意義、應(yīng)征作品的設(shè)計要求、活動時間安排、獎勵等內(nèi)容;投票規(guī)則主要介紹活動參與群體、投票時間段、每天限制投票次數(shù)等解釋;主辦單位主要介紹舉辦本次大賽單位基本情況等。
②投票系統(tǒng)后臺。投票系統(tǒng)后臺主要由網(wǎng)站內(nèi)容管理和評選信息管理兩大部分組成,其中網(wǎng)站內(nèi)容管理由管理員管理、版權(quán)信息設(shè)置、基本信息設(shè)置組成,評選信息管理由評選列表、添加評選、評選結(jié)果、評選記錄組成。管理員管理主要功能是對管理員進(jìn)行增加、刪除、修改;版權(quán)信息設(shè)置主要功能是設(shè)置軟件版權(quán)信息;基本信息設(shè)置是在投票系統(tǒng)前臺中添加欄目名稱,本系統(tǒng)在欄目中添加了三項(xiàng),分別是活動介紹、投票規(guī)則和主辦單位;評選列表功能是對已添加的參賽作品進(jìn)行審核,對參賽人員想要撤銷自己作品的直接刪除,對有問題的作品進(jìn)行修改;添加評選功能是對參賽的作品進(jìn)行上傳;評選結(jié)果功能是記錄每個作品總共投票數(shù)和人氣數(shù);評選記錄功能是記錄每個參與投票人對每個作品進(jìn)行投票時的IP地址、提交時間,對有問題的投票記錄可以直接刪除,可以有效避免參與投票人進(jìn)行刷票等。
1.2 系統(tǒng)流程
在線投票系統(tǒng)中流程較多,本文只給出投票系統(tǒng)前臺中用戶在線投票的流程。用戶在線投票流程如圖2,用戶進(jìn)入投票系統(tǒng)前臺瀏覽所有參賽作品縮略圖,對自己感興趣的參賽作品可以點(diǎn)擊其詳細(xì)信息進(jìn)行詳細(xì)了解,確定喜愛作品后點(diǎn)擊參賽作品的投票支持,在投票記錄表中查找該投票人員所用設(shè)備IP地址是否在當(dāng)天已投,如果未投,信息表中票數(shù)加一,否則提示參與投票人員“您今天已投過票,請明天再來投票!”。
1.3 數(shù)據(jù)庫設(shè)計
根據(jù)功能結(jié)構(gòu)分析,本系統(tǒng)需建立用戶表(User)、信息表(Info)、菜單表(Menu)和投票記錄表(Result)。用戶表用來存儲后臺用戶管理,信息表用來存儲參賽作品基本信息,菜單表用來存儲投票系統(tǒng)前臺中添加欄目名稱信息,投票記錄表用來存儲投票人什么時間通過哪個IP地址對哪個參賽作品進(jìn)行的投票。本系統(tǒng)采用Access數(shù)據(jù)庫。用戶表包括字段有編號、賬號、密碼、最后登錄IP、最后登錄時間;信息表包括字段有編號、主題、圖片、內(nèi)容、票數(shù)、人氣;菜單表包括字段有編號、主題、內(nèi)容;投票記錄表包括字段有編號、票號、IP、時間、重復(fù)提交。
2 主要功能實(shí)現(xiàn)
2.1 投票功能實(shí)現(xiàn)
通過機(jī)器的IP進(jìn)行限制。為了限制客戶端的計算機(jī)每天只能對同一個參賽作品進(jìn)行一次投票,每天首次對某個參賽作品進(jìn)行投票時,系統(tǒng)會把參賽作品票號、IP、時間、重復(fù)提交(票號、IP地址、日期和發(fā)出請求的主機(jī)名稱組成的字符串)存儲到服務(wù)器端數(shù)據(jù)庫中的記錄表中,再次提交投票信息時,投票系統(tǒng)會對參賽作品重復(fù)提交字段值進(jìn)行檢驗(yàn),若數(shù)據(jù)庫中沒有重復(fù)提交字段值,則提交到服務(wù)器端寫入數(shù)據(jù)庫,信息表中票數(shù)字段加一,否則禁止投票。投票功能主要實(shí)現(xiàn)代碼如下:
<%
vid=Request.QueryString("id")
servername=Request.ServerVariables("REMOTE_HOST")
Function getIP()
getIP=Request.ServerVariables("HTTP_X_FORWARDED_FO2R")
If getIP = "" Then
getIP = (Request.ServerVariables("REMOTE_ADDR"))
End Function
ipdate=vid&getIP;&date;()&servername;