ASP制作多用戶版計數(shù)器
發(fā)表時間:2024-06-13 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]ASP制作多用戶版計數(shù)器 2000-06-30· 郭武柱·CPCW 使用ASP制作網(wǎng)站計數(shù)器,一般采用ASP的內(nèi)置對象application,用一文本文件來保存記數(shù)值,在這里我將介紹另外一種方法,采用數(shù)據(jù)庫來制作,而且是多用戶版的,這樣,不僅可以自己使用,而且可以為其它網(wǎng)站服務(wù)...
ASP制作多用戶版計數(shù)器
2000-06-30· 郭武柱·CPCW
使用ASP制作網(wǎng)站計數(shù)器,一般采用ASP的內(nèi)置對象application,用一文本文件來保存記數(shù)值,在這里我將介紹另外一種方法,采用數(shù)據(jù)庫來制作,而且是多用戶版的,這樣,不僅可以自己使用,而且可以為其它網(wǎng)站服務(wù)了。下面是具體做法:
● 制作前的準(zhǔn)備
由于要使用數(shù)據(jù)庫來保存記數(shù)值與用戶信息,所以必須先建立數(shù)據(jù)庫(這里我們采用ACCESS格式),可以用Microsoft Access建立下面的數(shù)據(jù)庫:
數(shù)據(jù)庫名稱為:count.mdb
表名為:counttable
有下面字段:
user:[數(shù)據(jù)類型:文本,字段大小:255]保存用戶名
pageurl:[數(shù)據(jù)類型:文本,字段大小:255]保存用戶主頁地址
curvalue:[數(shù)據(jù)類型:數(shù)字,字段大小:長整型]保存計數(shù)器值
同時需準(zhǔn)備十個圖片:0-9,放于目錄"1"中,文件名為0.gif,1.gif......(用來圖形化顯示的計數(shù)值)
● 用戶申請表單制作
可以使用Microsoft FrontPage制作下面的計數(shù)器申請表單,文件名保存為:get.htm
<form method="POST" action="getcl.asp">
<p>用 戶 名<input type="text" name="user" size="20"></p>
<p>計數(shù)器值<input type="text" name="curvalue" size="20"></p>
<p>主頁地址<input type="text" name="pageurl" size="20"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重寫" name="B2"></p>
</form>
表單中的action="getcl.asp"表示用getcl.asp文件來處理用戶的輸入,那么,getcl.asp文件怎么處理用戶的輸入,將用戶的輸入加入數(shù)據(jù)庫呢?方法如下:
<%'建立與數(shù)據(jù)庫的連接
Set conn = Server.CreateObject("ADODB.Connection")
dbpath=server.MapPath("count.mdb")'取得數(shù)據(jù)庫的實際路徑
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&DbPath
set rs=server.CreateObject("adodb.recordset")
'取得用戶信息
user=Request.Form("user")
pageurl=Request.Form("pageurl")
curvalue=Request.Form("curvalue")
'先檢查用戶名是否存在
sql="select * from counttable where user='"&user&"'"
rs.Open sql,conn,1,3
if not rs.EOF then
Response.Write"<title>申請出錯</title>"
Response.Write"對不起,用戶名已經(jīng)存在!</title>"
'結(jié)束向下處理,要求用戶重填
Response.End
end if
'將用戶信息加入數(shù)據(jù)庫
rs.AddNew
rs("user")=user
rs("pageurl")=pageurl
rs("curvalue")=curvalue
rs.Update
rs.Close
set rs=nothing
conn.Close
set conn=nothing
%>
● 計數(shù)程序制作
完成了用戶申請?zhí)幚淼闹谱?下面就要制作計數(shù)器的核心程序(count.asp)了。具體方法如下:
<%
Set conn = Server.CreateObject("ADODB.Connection")
dbpath=server.MapPath("count.mdb")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&DbPath
user=Request.QueryString("user")
'計數(shù)值加1
sql="update counttable set curvalue=curvalue+1 where user='"&user&"'"
conn.Execute sql
sql="select curvalue from counttable where user='"&user&"'"
set rs=conn.Execute(sql)
'定義chgimg函數(shù),將計數(shù)值用圖形表示
function chgimg(curvalue)
dim s,i,g
s=cstr(curvalue)
for i=1 to len(s)
'請注意,在正式使用計數(shù)器時,圖片的路徑一定要使用實際路徑
g=g & "<img src=1/" & mid(s,i,1) & ".gif align=bottom>"
next
chgimg=g
end function
'調(diào)用chgimg函數(shù)(傳入計數(shù)器值)
toimg=chgimg(rs("curvalue"))
toimg="document.write(" & "'" & toimg & "')"
'輸出
Response.Write(toimg)
rs.close
set rs=nothing
conn.Close
set conn=nothing
%>
注:此文件不能帶用其它html標(biāo)志,否則將會出錯!
● 如何在主頁中顯示計數(shù)器
完成了計數(shù)器的制作,接下來是享受我們的勞動成果的時候了,怎么來調(diào)用計數(shù)器呢?很簡單,只需在欲顯示記數(shù)器的位置插入下面代碼就行了。
<script src="counter.asp?user=用戶名"></script>
'請注意,在正式使用計數(shù)器時,調(diào)用的路徑一定要使用實際路徑
(出處:熱點網(wǎng)絡(luò))