分享
 
 
 

建立你网站的投票机制![翻译]

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

如何使用ASP在自己的网站建立投票机制(一)

翻译整理

一个很不错的建立自己的投票系统的ASP程序大家仔细读读,只要能够理解中间的关键技术,就能够在自己的网站上建立自己的投票站了。文件整理得很仓促,希望大家谅解。

版权所有:

ASP Polls

version 1.0

Tipped Cow Development and Adrenalin Labs

结构简单介绍:

ACCESS数据库设计结构:

poll表主要字段名称:PollName,PollCreator,PollQuestion,Password,Choice1,Choice2

Choice3,Choice4,Choice5,ID(自动编号),GetName

pollresults表字段:PollID,PollAnswer,Name

1.文件db.inc

<%

Application("ASP_Poll") = "ASP_Poll"

cnString = "DRIVER={Microsoft Access Driver (*.mdb)}; "

cnString = cnString & "DBQ=" & Server.MapPath("Events.mdb")

Application("ASPPollDSN") = cnString

%>

1.文件creat_poll1.asp

<% Title="Poll Generator" %>

<head> <link rel="STYLESHEET" type="text/css" href="style.css">

<title><%=Title%></title>

</head>

<body>

<div align="left"><img src="asp_poll.gif" width="231" height="90"><br>Another joint product from <a href="http://www.ncws.com/tippycow">Tipped Cow Development</a> and <a href="http://dstoflet.calweb.com">Adrenalin Labs</a>

<br><br>

</div>

<center>

<%

Response.Write "<font face=arial>"

If Request("errormessage") <> "" Then

Response.Write "<b>Error! </b>" & Request("errormessage")

Else

Response.Write "Please complete the form below to begin creating your own poll."

End If

%>

<br><br>

<table border=2 cellspacing=0 cellpadding=0><tr><td>

<form method="post" action="create_poll2.asp">

<table border=0 cellspacing=0 cellpadding=10 width=500><tr>

<td colspan=2 bgcolor=#000000 align=center class="bold2">

Enter Your Name as the Poll Creator

</td>

</tr><tr>

<td bgcolor=#ffffff width=25% class="bold">Poll Creator:</td>

<td bgcolor=#ffffff>

<input type="text" name="creator" value="<%=Request("creator")%>" size=20 class="input">

</td>

</tr>

</table>

</td></tr>

<tr><td>

<table border=0 cellspacing=0 cellpadding=10 width=500><tr>

<td colspan=2 bgcolor=#000000 align=center class="bold2">

Create a Password For Your Poll So That You Can Modify It At A

Later Time

</td>

</tr><tr>

<td bgcolor=#ffffff width=25% class="bold">Poll Admin Password:</td>

<td bgcolor=#ffffff>

<input type="password" name="password" value="<%=Request("password")%>" size=10 maxlength=10 maxsize=10 class=input>

</td>

</tr>

</table>

</td></tr>

<tr><td>

<table border=0 cellspacing=0 cellpadding=10 width=500><tr>

<td colspan=2 bgcolor=#000000 align=center class="bold2">

Give Your Poll a Unique Name

</td>

</tr><tr>

<td bgcolor=#ffffff width=25% class="bold">Poll Name:</td>

<td bgcolor=#ffffff>

<input type="text" name="name" value="<%=Request("name")%>" size=20 class=input>

</td>

</tr>

</table>

<table border=0 cellspacing=0 cellpadding=10 width=500><tr>

<td colspan=2 bgcolor=#000000 align=center class="bold2">

Do you want to have the user enter their name?

</td>

</tr><tr>

<td bgcolor=#ffffff width=25% class="bold">Require user to enter their name:</td>

<td bgcolor=#ffffff class="bold">

Yes<input type="radio" name="GetName" value="1"><br>

No <input type="radio" name="GetName" value="0" CHECKED>

</td>

</tr>

</table>

</td></tr>

<tr><td>

<table border=0 cellspacing=0 cellpadding=10 width=500><tr>

<td colspan=3 bgcolor=#000000 align=center class="bold2">

Select Poll Type

</td>

</tr><tr>

<td colspan=2 bgcolor=#ffffff class="bold">What type of poll question

do you wish to create?</td>

<td bgcolor=#ffffff class="bold">

<input type="radio" name="polltype" value="yes_no">Yes/No<br>

<input type="radio" name="polltype" value="multiple_choice">Multiple Choice<br>

</td>

</tr>

</table>

</td></tr></table>

<table width=500><tr>

<td colspan=3 align=right>

<input type="submit" value=" Next " class="inline">

</td></tr>

</table>

</center>

</body>

</html>

3.文件connect.asp

<%

id = Request("id")

If id = "" Then

id = 0

End If

num = Request("choice")

If num <> "" Then

Set conn = Server.CreateObject("ADODB.Connection")

dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "

dsnpath = dsnpath & "DBQ=" & Server.MapPath("Events.mdb")

conn.open dsnpath

Set rs = Server.CreateObject("ADODB.RecordSet")

rs.Open "PollResults", conn, 3, 3

rs.AddNew

rs("PollID") = Cint(id)

rs("Name") = Request("Name")

rs("PollAnswer") = Cint(num)

rs.Update

rs.Close

set rs = Nothing

conn.Close

set conn = Nothing

End If

If Request("return_page") <> Empty Then

Response.Cookies("PollID") = id

Response.Redirect Request("return_page")

End If

%>

<html>

<body bgcolor="#4f4f4f" text="#c0c0c0" link=#f5fcdc vlink=#f5fcdc>

<center>

<% If num <> "" Then %>

<br><br>

<table border=0 cellspacing=0 cellpadding=0><tr>

<td colspan=3 align=center><font face="verdana">

Your selection has been recorded.

</td></tr>

</table>

<% End If %>

<br><br>

<%

Set conn = Server.CreateObject("ADODB.Connection")

sql = "select * from Poll where ID = " & Cint(id)

dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "

dsnpath = dsnpath & "DBQ=" & Server.MapPath("Events.mdb")

conn.open dsnpath

Set rs = Conn.Execute(sql)

If rs.EOF = False Then

%>

<table border=1 cellspacing=0 cellpadding=5 width=500 bordercolor=#2f2f4f><tr>

<td colspan=3 bgcolor=#2f2f4f align=center><font face="verdana" color=#f5fcdc>

<%=rs("PollQuestion")%>

</td></tr>

<%

Dim Choices(6)

Dim Responses(6)

For I=1 To 5

choice = rs("Choice" & I)

Choices(I) = choice

If choice <> "" Then

Set conn2 = Server.CreateObject("ADODB.Connection")

sql = "select COUNT(PollAnswer) from PollResults where PollID = " & Cint(id) & " AND PollAnswer=" & I

dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "

dsnpath = dsnpath & "DBQ=" & Server.MapPath("Events.mdb")

conn2.open dsnpath

Set rs2 = Conn.Execute(sql)

If rs2.EOF = False Then

Response.Write "<tr><td colspan=2 bgcolor=#4f4f4f align=center width=400><font face=verdana color=#f5fcdc>"

Response.Write choice

Response.Write "</td>"

Responses(I) = rs2(0)

Response.Write "<td colspan=1 bgcolor=#4f4f4f align=right><font face=verdana color=#f5fcdc><b>" & rs2(0) & "</b></td>"

Response.Write "</tr>"

End If

rs2.Close

conn2.Close

End If

Next

End If

%>

</table>

<br><br>

<table >

<td colspan=3 align=center><font face="arial">

<font face="ms sans serif"><b> Polls Results</b></font>

</td></tr>

<%

Total = 0

For I=1 To 5

responseCount = Responses(I)

If responseCount <> "" Then

Total = Total + Cint(responseCount)

End If

Next

For I=1 To 5

choice = Choices(I)

responseCount = Responses(I)

If choice <> "" Then

Response.Write "<tr><td colspan=1 align=left><font face=arial>"

Response.Write choice

Response.Write "</td>"

Response.Write "<td colspan=2 width=400><table border=1 cellspacing=0><tr><td bgcolor=blue align=center width=" & ConvertToPix(responseCount) & "><font face=ms sans serif color=white><b>" & ConvertToPercent(responseCount) & "</td></tr></table></td>"

Response.Write "</tr>"

End If

Next

Function ConvertToPix(sz)

If sz = 0 Then

ConvertToPix = 0

Else

ConvertToPix = Cint(400/Total * sz)

End If

End Function

Function ConvertToPercent(sz)

If sz = 0 Then

ConvertToPercent = "0%"

Else

ConvertToPercent = FormatPercent(sz/Total, 2)

End If

End Function

%>

</table>

<% If num = "" Then %>

<br><br>

<table border=0 cellspacing=0 cellpadding=0><tr>

<td colspan=3 align=center><font face="verdana">

<a href="default.asp?ID=<%=id%>">Add Your Vote</a>

</td></tr>

</table>

<% End If %>

<br><br>

<table width=100%><tr><td align=right>

<table border=1 cellpadding=5 cellspacing=0 bordercolor=#f5fcdc><tr><td bgcolor=#2f2f4f>

<font face=verdana size=+1><a href=javascript:history.back()>Back</a>

</td></tr></table>

</td></tr></table>

</center>

</body>

</html>

-------------------------------------------------

如何使用ASP在自己的网站建立投票机制(二)

翻译整理

4、文件default.asp

<%

ID = Request("ID")

If ID = "" Then

ID = 30

End If

Title = "Polls (Create your own poll)"

%>

<html>

<head><link rel="STYLESHEET" type="text/css" href="style.css">

<title>ASP Polls</title>

<script language="JavaScript">

function gatherForm(form){

if(form.Mode[0].checked){

form.submit();

}else{

form.action="collect.asp";

form.submit();

}

}

</script>

</head>

<body>

<div align="left"><img src="asp_poll.gif" width="231" height="90"><br>Another joint product from <a href="http://www.ncws.com/tippycow">Tipped Cow Development</a> and <a href="http://dstoflet.calweb.com">Adrenalin Labs</a>

<br><br>

</div>

<table width="100%" cellspacing="0" cellpadding="2">

<tr>

<td align="left" width="25%" valign="top" class="bold">

<form action="default.asp">

<table width="100" border="1" bordercolor=#ccccff>

<tr>

<td>

<table border=0 cellspacing=0 cellpadding=5 bgcolor=#4f4f4f><tr>

<td colspan=3 bgcolor=#000000 align=center class="bold2">Select A Poll</td>

</tr><tr>

<td colspan=3 bgcolor=#000000 align=center>

<select name="ID" onChange="gatherForm(this.form)" class="input">

<%

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open Application("ASPPollDSN")

sql = "select * from Poll"

Set rs = conn.Execute(sql)

Do While Not rs.EOF

%>

<option value="<%=rs("ID")%>"><%=rs("PollName")%>

<%

rs.MoveNext

Loop

%>

</select>

</tr>

<tr>

<td colspan=3 align=right bgcolor=#FFFFFF class="bold">

Vote In Poll:<input type="radio" name="Mode" value="Vote" CHECKED><br>

View Results:<input type="radio" name="Mode" value="View">

</td></tr>

<tr>

<td colspan=3 align=right bgcolor=#000000 align=center>

<input type="button" value=" Go " onClick="gatherForm(this.form)" class="inline">

</td></tr>

</table>

</td>

</tr>

</table></form><br>

<div align="left" class="bold">

<a href="create_poll1.asp">Create your own poll</a><br>

<a href=javascript:history.back()>Back</a>

</div>

</td>

<td align="center" width="75%" valign="top">

<table width="100" border=1 cellspacing=2 cellpadding=0 bordercolor=#ccccff><tr><td>

<form method="post" action="collect.asp">

<input type="hidden" name="id" value="<%=id%>">

<%

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open Application("ASPPollDSN")

sql = "select * from Poll where ID = " & ID

Set rs = conn.Execute(sql)

If rs.EOF = False Then

%>

<table border=0 cellspacing=0 cellpadding=10 bgcolor=#4f4f4f><tr>

<!-- <td colspan=3 bgcolor=#2f2f4f align=center><font face="verdana" color=#f5fcdc>

Poll: <%=rs("PollName")%>

</td> -->

</tr><tr>

<td colspan=3 bgcolor=#000000 align=left class="bold2"><%=rs("PollQuestion")%>

</tr>

<%

For I=1 To 5

choice = rs("Choice" & I)

If choice <> "" Then

%>

<tr> <!-- <td width=50 colspan=1 bgcolor=#4f4f4f> </td> -->

<td colspan=2 bgcolor=#FFFFFF class="bold" align="left">

<%=choice%></td><td bgcolor=#FFFFFF align="left"><input type="radio" name="choice" value="<%=I%>">

</td></tr>

<%

End If

Next

%>

</tr>

<% If rs("GetName") = "1" Then %>

<tr><td colspan=1 align=right bgcolor=#FFFFFF class="bold">

Your Name:</td>

<td colspan=2 align=right bgcolor=#FFFFFF>

<input type="text" name="Name">

</td></tr>

<% End If %>

<tr>

<td colspan=3 align=right bgcolor=#000000 align=center>

<input type="submit" value="Submit Vote" class="inline">

</td></tr>

</table>

<%

Else

Response.Write "Invalid Poll Id Request!"

End If

%>

</td></tr></form></table>

</td>

</tr>

</table>

</body>

</html>

5、文件global.asa

<SCRIPT LANGUAGE="VBScript" RUNAT="SERVER">

Sub Application_OnStart

Application("ASP_Poll") = "ASP_Poll"

cnString = "DRIVER={Microsoft Access Driver (*.mdb)}; "

cnString = cnString & "DBQ=" & Server.MapPath("Events.mdb")

Application("ASPPollDSN") = cnString

End Sub

</SCRIPT>

6、文件pool.inc

<%

DBPath = Server.MapPath("/poll/Events.mdb")

ID = 28

If Request.Cookies("PollID") = CStr(ID) Then

ShowDisplay

Else

ShowVote

End If

Function ConvertToPercent(total, sz)

If sz = 0 Then

ConvertToPercent = "0%"

Else

ConvertToPercent = FormatPercent(sz/total, 2)

End If

End Function

Sub ShowVote

%>

<div align=right>

<table width=125 border=1 cellspacing=0 cellpadding=0><tr><td>

<form method="post" action="/poll/collect.asp">

<input type="hidden" name="id" value="<%=id%>">

<input type="hidden" name="return_page" value="<%=Request.ServerVariables("PATH_INFO")%>">

<%

Set conn = Server.CreateObject("ADODB.Connection")

dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "

dsnpath = dsnpath & "DBQ=" & DBPath

conn.open dsnpath

sql = "select * from Poll where ID = " & ID

Set rs = conn.Execute(sql)

If rs.EOF = False Then

%>

<table width=125 border=0 cellspacing=0 cellpadding=2 bgcolor=#4f4f4f>

<tr>

<td colspan=3 bgcolor=#2f2f4f align=center>

<%=rs("PollQuestion")%>

</td>

</tr>

<%

For I=1 To 5

choice = rs("Choice" & I)

If choice <> "" Then

%>

<tr>

<td colspan=2 bgcolor=#000000 valign=top width=80%>

<%=choice%> </td><td valign=top colspan=1 width=20% bgcolor=#000000> <input type="radio" name="choice" value="<%=I%>">

</td></tr>

<%

End If

Next

%>

<tr>

<td colspan=3 align=center bgcolor=#2f2f4f align=right>

<input type="submit" value="Submit" class=nav>

</td></tr>

</table>

<%

End If

%>

</td></tr></form></table>

</center>

<%

End Sub

Sub ShowDisplay

Set conn = Server.CreateObject("ADODB.Connection")

sql = "select * from Poll where ID = " & Cint(ID)

dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "

dsnpath = dsnpath & "DBQ=" & DBPath

conn.open dsnpath

Set rs = Conn.Execute(sql)

If rs.EOF = False Then

Dim Choices(6)

Dim Responses(6)

For I=1 To 5

choice = rs("Choice" & I)

Choices(I) = choice

If choice <> "" Then

Set conn2 = Server.CreateObject("ADODB.Connection")

sql = "select COUNT(PollAnswer) from PollResults where PollID = " & Cint(id) & " AND PollAnswer=" & I

dsnpath = "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; "

dsnpath = dsnpath & "DBQ=" & DBPath

conn2.open dsnpath

Set rs2 = Conn.Execute(sql)

If rs2.EOF = False Then

Responses(I) = rs2(0)

End If

rs2.Close

conn2.Close

End If

Next

%>

<div align="right">

<table border=1 cellspacing=0 cellpadding=2><tr><td>

<table width=125 border=0 cellspacing=0><tr>

<td colspan=2 bgcolor=#2f2f4f align=center class=orgbold>ASP Poll

</td></tr>

<tr><td colspan=2 align=center bgcolor=#ccccff class=black>

Q:<%=rs("PollQuestion")%>

</td></tr>

<%

Total = 0

For I=1 To 5

responseCount = Responses(I)

If responseCount <> "" Then

Total = Total + Cint(responseCount)

End If

Next

For I=1 To 5

choice = Choices(I)

responseCount = Responses(I)

If choice <> "" Then

Response.Write "<tr><td colspan=1 align=left><font face=verdana size=-1 color=#f0f0f0>"

Response.Write choice

Response.Write "</td>"

Response.Write "<td>" & ConvertToPercent(total, responseCount) & "</td>"

Response.Write "</tr>"

End If

Next

Response.Write "</table></td></tr></table></div>"

End If

End Sub

%>

</div>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有