台灣最大的程式設計社群網站
線上人數
617
 
會員總數:354423
討論主題:190538
免費程式:2730
歡迎您免費加入會員
首頁 >> 程式下載 >> 程式資料檢視
程式資料
名稱 真實流量計數器
類別 流量統計 使用者介面 網頁系統
程式語言 ASP 開發狀態 100% - 成熟
語系 其他 難易度 難度三(適合一般程度)
原創者 阿九  原創者網址  
提供者 阿九 執行網址 http://tpbg.tfri.gov.tw/
版權 開放源碼 評分
(共有 14 人投票,總分 62)
我要評分 : 不好<- 1 2 3 4 5 -> 很好   這個程式不能有問題歐! 加入我的收藏夾!
說明
以用戶端真實IP計數
1至2小時內不重複計數
搭配Access當資料庫
以圖形顯示
不得移作商業用途
預覽畫面
目前尚無任何預覽畫面
檔案列表
檔名 : 20050117150454281A.zip  下載數:969
檔案大小:15415 Bytes  上傳時間:2005-01-17 15:04
下載此檔案
--
真實流量計數器
網友回應  
如要發送訊息請先登入.
感謝您的提供 bard [2007-10-12 15:46]
正好需要此功能,另外個人簡化了一下程式碼,供各位參考。
取IP部份:
'=============取客戶端真實ip==================
cip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If cip = "" Then cip = Request.ServerVariables("REMOTE_ADDR")
'=============================================
顯示數字部份(順便加入150所要功能,不過好像是兩年前的事情了= =):
<%
size = 8 '數字總量(如:142→00000142)
for i = 1 to size-len(ct)
%><img border=0 src=image/count_0.gif><%
next
for i = 1 to len(ct)
%><img border=0 src=image/count_<%=cint(mid(ct,i,1))%>.gif><%
next
%>

請大大指點一下 HsiaoYing [2005-09-28 18:04]
有個問題就是
if len(ct) <= 8 then
x = 8
else
x = len(ct)
end if
如果ct不到八位數的話x就等於8,
for i = 1 to x
..............
..............
if mid(ct,i,1)= j then
但是如果ct的長度只有1的話,i=8,這樣沒辦法取值吧…^^
回應 : 請大大指點一下 [2005-09-29 13:02] 阿九
if cint(mid(ct,i,1)) = j then
這一行要做修正如下
if cint(mid(ct,(i - x + len(ct)),1)) = j then

另外時間的確是要現在減資料庫時間
if ((rs("hh") = time_h) and (time_m - rs("mm") <= 10)) then
回應 : 請大大指點一下 [2005-09-29 12:57] 阿九
if i > (x - len(ct)) then
for j = 0 to 9
if cint(mid(ct,i,1)) = j then
....
...
else
response.Write "<img border=0 rc=/image/count_0.gif>"
end if
這一段程式能如下
例如目前ct數值等於1234
i (第i位數) | x (總計位數) | len(ct) (實際位數) | 第 i 位數顯示之值
=============|================|=====================|===================
1 | 8 | 4 | 0
2 | 8 | 4 | 0
3 | 8 | 4 | 0
4 | 8 | 4 | 0
5 | 8 | 4 | 1
6 | 8 | 4 | 2
7 | 8 | 4 | 3
8 | 8 | 4 | 4
說明: 在 i 小於等於 4 時將直接輸出 0
大於 4 時才輸出 ct 的數值
附註:時間 10 分鐘所作之修正部份有一點點小問題
便是當跨小時的時候, 將沒有10分中限制
如:AM 10:59 登入又離開, AM 11:01 再次登入即算2次計數
這算是一個小 BUG ,你可以試著自己修正程式碼來排除

感謝您的分享,可是要怎麼改您的程式呢?^^ HsiaoYing [2005-09-27 23:31]
請問一下,這個計數器如果要做成10分鐘內不重複計數,而且數字不到八位數就補零到八位數,請問程式要怎麼改呢?謝謝!^^
回應 : 感謝您的分享,可是要怎麼改您的程式呢?^^ [2005-09-28 12:58] 阿九
1. 在CT.MDB-->USR TABLE 中設計加入一個 mm 的文字欄位(存放分鐘用)
2. 在count.asp 中修改如下(以下所提到程式行數以未修改前為主):
第8行前插入一行 time_m = left(right(now,5),2)
第21行改成這四行 if ((rs("hh") = time_h) and (rs("mm") - time_m <= 10)) then
x = 1
else
rs("mm") = time_m
第36行前插入一行 rs("mm") = time_m
第49行改成這七行 if len(ct) <= 8 then
x = 8
else
x = len(ct)
end if
for i = 1 to x
if i > (x - len(ct)) then
第55行前插入這三行 else
response.Write "<img border=0 rc=/image/count_0.gif>"
end if
3. 以上是一種改法, 你可以試試

感謝阿九大大。 阿國 [2005-04-21 16:03]
阿九大大:

經過你的指點,計數器終於可以正常運作了,在此謝謝你。
我發現對像我這種水準的人來說,程式下載回去後無法正常運作,最常見的原因是路徑不正確,否則就是自己電腦權限設定的問題,不知大大的看法如何?這個看法如果有理,也正好可以給其他網友做為參考,因為問題通常出在自己,而非提供程式的熱心網友。

以上。

請問:為何一直呼叫失敗? 阿國 [2005-04-19 22:29]
阿九大大:

感謝你的無私,但是下載解壓縮,並修改相關路徑後,欲呈現計數器的網頁卻始終打不開,錯誤內容如下:

-------------------------------------------------------------
技術資訊 (供技術支援人員使用)

錯誤類型:
伺服器物件, ASP 0228 (0x80004005)



當載入頁面時,Server.Execute 的呼叫失敗。
/john/menu.asp, line 53

瀏覽器類型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
-----------------------------------------------------------

究竟還有什麼地方沒改到,才會無法呼叫、執行計數功能?

謝謝你。
回應 : 請問:為何一直呼叫失敗? [2005-04-20 15:49] 阿九
Server.Execute 後僅能接檔案名稱,不可加路徑,且該檔案必須在跟目錄下
否則將呼叫失敗
這些問題大部分皆是路徑造成,你在試試吧!

還是沒顯示圖示?? 150 [2005-04-09 18:56]
大大你好
我將記數器掛在asp首頁還是沒顯示圖示..只看到4個xxxx不知哪邊出了錯
還有記數器可增加到7位數嗎?前面是否能用0來代替...例如0009999
謝謝解答!!感激不盡
回應 : 還是沒顯示圖示?? [2005-04-11 09:35] 阿九
這個計數器可以統計到億以上的數字
位數會自動改變,計數器歸0後會從1個位數開始顯示
如果圖形出現XXXX請確認以下幾點
1.解壓縮後是否有IMAGE資料夾
2.是否將IMAGE資料夾放在"預設WEB站台/根目錄"下
亦或是進入count.asp內修改第52行,原文如下
response.Write "<img border=0 src=/image/count_"&j&".gif>"
請將src=/image....修改成src= "image資料夾所在相對目錄" /count__"&j&".gif>"


怎樣將記數器掛在首頁?? 150 [2005-04-09 12:41]
大大你好
要怎樣將記數器掛在首頁
我將這段程式碼<%Server.Execute "count.asp"%>貼上去
還是沒有顯示數字..首頁檔是不是ㄝ要asp的首頁呢?
請大大指點...謝謝!!
回應 : 怎樣將記數器掛在首頁?? [2005-04-09 15:22] 阿九
是的,凡需要顯示計數器的頁面均必須為ASP的頁面
你可以將首頁副檔名直接改為.asp
並在IIS中將首頁文件加入該檔案即可

請問程式碼要如何加上去? wakiki [2005-03-12 22:38]
請問程式碼要如何加上去?
回應 : 請問程式碼要如何加上去? [2005-03-14 15:14] 阿九
將檔案解壓縮於程式主目錄下
在要顯示的頁面檔案內(需為ASP程式)
加入下列程式碼即可(頁面排版需自行設定)
<%Server.Execute "count.asp"%>