當前位置:開發者網絡 >> 技術教程 >> ASP教程 >> ASP應用 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
ASP製作多用戶版計數器
作者:未知
日期:2003-04-14
人氣:
投稿:Andy.m(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
ASP製作多用戶版計數器
2000-06-30· 郭武柱·CPCW

  使用ASP製作網站計數器,一般採用ASP的內置對像application,用一文本文件來保存記數值,在這裡我將介紹另外一種方法,採用數據庫來製作,而且是多用戶版的,這樣,不僅可以自己使用,而且可以為其它網站服務了。下面是具體做法:

● 製作前的準備
  由於要使用數據庫來保存記數值與用戶信息,所以必須先建立數據庫(這裡我們採用ACCESS格式),可以用Microsoft Access建立下面的數據庫:

數據庫名稱為:count.mdb

表名為:counttable

有下面字段:

user:[數據類型:文本,字段大小:255]保存用戶名

pageurl:[數據類型:文本,字段大小:255]保存用戶主頁地址

curvalue:[數據類型:數字,字段大小:長整型]保存計數器值

  同時需準備十個圖片:0-9,放於目錄"1"中,文件名為0.gif,1.gif......(用來圖形化顯示的計數值)

● 用戶申請表單製作
  可以使用Microsoft FrontPage製作下面的計數器申請表單,文件名保存為:get.htm

<form method="POST" action="getcl.asp">
<p>用 戶 名<input type="text" name="user" size="20"></p>
<p>計數器值<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文件怎麼處理用戶的輸入,將用戶的輸入加入數據庫呢?方法如下:

<%'建立與數據庫的連接
Set conn = Server.CreateObject("ADODB.Connection")
dbpath=server.MapPath("count.mdb")'取得數據庫的實際路徑
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"對不起,用戶名已經存在!</title>"

'結束向下處理,要求用戶重填
Response.End
end if

'將用戶信息加入數據庫
rs.AddNew
rs("user")=user
rs("pageurl")=pageurl
rs("curvalue")=curvalue
rs.Update
rs.Close
set rs=nothing
conn.Close
set conn=nothing
%>

● 計數程序製作
  完成了用戶申請處理的製作,下面就要製作計數器的核心程序(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")

'計數值加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函數,將計數值用圖形表示
function chgimg(curvalue)
dim s,i,g
s=cstr(curvalue)
for i=1 to len(s)

'請注意,在正式使用計數器時,圖片的路徑一定要使用實際路徑
g=g & "<img src=1/" & mid(s,i,1) & ".gif align=bottom>"
next
chgimg=g
end function

'調用chgimg函數(傳入計數器值)
toimg=chgimg(rs("curvalue"))
toimg="document.write(" & "'" & toimg & "')"

'輸出
Response.Write(toimg)
rs.close
set rs=nothing
conn.Close
set conn=nothing
%>

  注:此文件不能帶用其它html標誌,否則將會出錯!

● 如何在主頁中顯示計數器
  完成了計數器的製作,接下來是享受我們的勞動成果的時候了,怎麼來調用計數器呢?很簡單,只需在欲顯示記數器的位置插入下面代碼就行了。

<script src="counter.asp?user=用戶名"></script>

'請注意,在正式使用計數器時,調用的路徑一定要使用實際路徑
相關文章: