< % '下面的if語句是通過驗證selected是否為空來判斷用戶是否作了選擇 if request.form("options") < >Empty then % >
< % '下面的if語句是通過比較Request的兩個collection(ServerVariables和Cookies)的值 '來防止用戶連續按提交而影響調查的結果 if not Request.ServerVariables("REMOTE_ADDR")=request.cookies("IPAddress") then '把訪問客戶的IP信息寫入Cookies response.cookies("IPAddress")=Request.ServerVariables("REMOTE_ADDR") % > < % '建立連接(Connection)對象,打開記錄調查結果的數據庫 set conn=server.createobject("ADODB.CONNECTION") conn.open "researchdb" % >
< % '定義變量 dim rs dim sql dim selected selected=request.form("options") '建立記錄集合(Recordset)對象,用方法Open打開對象,同時修改對應的數據 set rs=server.createobject("adodb.recordset") '修改數據表ressearch中的數據,即對應的投票數增加1 sql="update research set select"&selected&"=select"&selected&"+1 where id=1" rs.open sql,conn,3,3 '從內存中清除記錄集合對象 set rs=nothing '關閉連接 conn.close '從內存中清除連接對象 set conn=nothing '連接到瀏覽調查結果的頁面 response.redirect "viewresult.asp" else Response.write "投票失敗提示:您剛才已投了票,謝謝您的支持!" end if else Response.write "投票失敗提示:您忘記選擇了!" end if % >
viewresult.asp < % set conn=server.createobject("ADODB.CONNECTION") conn.open "researchdb" % > < % dim rs dim sql dim select1 dim select2 dim select3 dim select4 dim select5 dim select6 dim select7 dim total set rs=server.createobject("adodb.recordset") sql="select * from research where id=1" rs.open sql,conn,1,1 total=rs("select1")+rs("select2")+rs("select3")+rs("select4")+rs("select5")+rs("select6")+rs("select7") '判斷總票數是否為0,確保下面的除法有效 if total > 0 then select1=(rs("select1")/total)*100 select2=(rs("select2")/total)*100 select3=(rs("select3")/total)*100 select4=(rs("select4")/total)*100 select5=(rs("select5")/total)*100 select6=(rs("select6")/total)*100 select7=(rs("select7")/total)*100 % > < p >謝謝您的參與,下面是當前的調查結果 < p > ◇知識: < img src=bar.gif width=< %=int(select1*5)% > height=4 > < %=rs("select1")% >人 占:< %=round(select1,2)% >%< br > ◇學歷: < img src=bar.gif width=< %=int(select2*5)% > height=4 > < %=rs("select2")% >人 占:< %=round(select2,2)% >%< br > ◇金錢: < img src=bar.gif width=< %=int(select3)*5% > height=4 > < %=rs("select3")% >人 占:< %=round(select3,2)% >%< br > ◇愛情: < img src=bar.gif width=< %=int(select4)*5% > height=4 > < %=rs("select4")% >人 占:< %=round(select4,2)% >%< br > ◇理想: < img src=bar.gif width=< %=int(select5)*5% > height=4 > < %=rs("select5")% >人 占:< %=round(select5,2)% >%< br > ◇民主意識: < img src=bar.gif width=< %=int(select6)%*5 > height=4 > < %=rs("select6")% >人 占:< %=round(select6,2)% >%< br > ◇科學思想: < img src=bar.gif width=< %=int(select7)%*5 > height=4 > < %=rs("select7")% >人 占:< %=round(select7,2)% >%< /p >
< p align="center" >已經有:< %=total% >人參加調查< br >< br > 【< a href="javascript:window.close()" >關閉窗口< /a >】< /p > < p > < % else response.write "還沒有人參與調查" end if rs.close set rs=nothing conn.close set conn=nothing % >
附注: 以上代碼均在 WindowsNT4.0中文(Pack 6)/IIS4.0上調試通過。 以下任何一種環境都可執行ASP: 一、Windows NT Server 4.0 / IIS3.0以上 二、Windows NT WorkStation 4.0 / Microsoft Peer Web Service3.0以上 三、Windows 95/98 / Microsoft Personal Web Server 1.0a以上