溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

首頁顯示總訪問量、總點(diǎn)擊量和修改在線人數(shù)功能-科訊CMS

發(fā)布時(shí)間:2020-06-30 19:27:00 來源:網(wǎng)絡(luò) 閱讀:601 作者:御龍書生 欄目:web開發(fā)

怎么樣在首頁顯示總訪問量、總點(diǎn)擊量和修改在線人數(shù)功能呢

先說思路:

  1、科汛自帶的統(tǒng)計(jì)功能中有每日的IP數(shù)和PV數(shù),只需將取它們其一求和,這樣就是總訪問量了,具體取哪個(gè),就由自己定了,IP數(shù)小,但精準(zhǔn),PV數(shù)大,但刷新的也算在內(nèi)了。我愛面子,所以取大的,PV值。

  2、科汛自帶的文章統(tǒng)計(jì)功能中有每篇文章的點(diǎn)擊數(shù),依上所言,將每篇文章的點(diǎn)擊數(shù)求和就是總點(diǎn)擊數(shù)了

  3、如果在首頁顯示在線人數(shù),并且每個(gè)頁面下面都調(diào)用了科汛的統(tǒng)計(jì)標(biāo)簽,那么每刷新一下首頁都會增加兩次訪問量了,因?yàn)槭醉撜{(diào)用了兩次統(tǒng)計(jì),所以得對在線人數(shù)處的統(tǒng)計(jì)進(jìn)行改造一下了。




  思路有了,再說過程:

有兩種方法,ASP方式下的方法只適用于ASP,不適用于HTML,HTML方式下的方法適用于ASP和HTML兩種方式。

如果是動態(tài)的ASP方式,打開KS_CLS下的kesion.label.commoncls.asp,找到869行找到     GetSiteCountAll = GetSiteCountAll & "<li>在線人數(shù): <script language=""javascript"" src=""" & DomainStr & "KS_Inc/SiteCount.asp?ID=3""></script> 人</li>" & vbcrlf
根據(jù)你在顯示的位置在其上面或下面直接添加

   GetSiteCountAll = GetSiteCountAll & "<li>總訪問量: " & Conn.Execute("Select Sum(Pageview) From KS_SiteCount")(0) & " 次</li>" & vbcrlf

   GetSiteCountAll = GetSiteCountAll & "<li>總點(diǎn)擊數(shù): " & Conn.Execute("Select Sum(Hits) From KS_Article")(0) & " 次</li>" & vbcrlf

然后在你的首頁適當(dāng)?shù)奈恢谜{(diào)用統(tǒng)計(jì)標(biāo)簽 GetSiteCountAll就行了。

當(dāng)然,如果你怕以后生成HTML再改麻煩,也可以直接按下面的HTML修改,一樣在ASP方式下可以使用

如果用的是HTML方式,這種方法運(yùn)行也正常,就是不能動態(tài)更新訪問量和點(diǎn)擊數(shù)了,后來從科汛的文章內(nèi)容頁面點(diǎn)擊數(shù)受到啟示,增加一個(gè)ASP文件,用JS調(diào)用方式實(shí)現(xiàn)了

  1、在KS_INC目錄下新建一個(gè)SiteCount.asp文件,內(nèi)容如下:

<!--#include file="../Conn.asp"-->
<%
If CInt(Request.Querystring("id")) = 1 And Trim(Request.Querystring("id")) <> "" Then
Response.Write "document.write('" & Conn.Execute("Select Sum(Pageview) From KS_SiteCount")(0) & "');"
ElseIf CInt(Request.Querystring("id")) = 2 And Trim(Request.Querystring("id")) <> "" Then
Response.Write "document.write('" & Conn.Execute("Select Sum(Hits) From KS_Article")(0) & "');"
ElseIf CInt(Request.Querystring("id")) = 3 And Trim(Request.Querystring("id")) <> "" Then
Response.Write "document.write('" & Conn.Execute("Select Count(*) from KS_Online")(0)+5 & "');"
End If
%>

  這樣,第一段是取網(wǎng)站總訪問量,第二段取總點(diǎn)擊數(shù),第三段是取當(dāng)前在線人數(shù)并加5(可以改,好面子,沒辦法),這樣是只取在線人數(shù),不向系統(tǒng)寫入增加訪問次數(shù),以免在首頁重復(fù)增加訪問次數(shù),造成刷新一下首頁增加兩次訪問次數(shù)的現(xiàn)象。

  2、打開KS_CLS下的kesion.label.commoncls.asp,找到869行

    GetSiteCountAll = GetSiteCountAll & "<li>在線人數(shù): <script language=""javascript"" src=""" & DomainStr & "KS_Inc/online.asp?ID=1""></script> 人</li>" & vbcrlf

根據(jù)你要顯示的位置在它的上面或下面添加

   GetSiteCountAll = GetSiteCountAll & "<li>總訪問量: <script language=""javascript"" src=""" & DomainStr & "KS_Inc/SiteCount.asp?ID=1""></script> 次</li>" & vbcrlf

    GetSiteCountAll = GetSiteCountAll & "<li>總點(diǎn)擊數(shù): <script language=""javascript"" src=""" & DomainStr & "KS_Inc/SiteCount.asp?ID=2""></script> 次</li>" & vbcrlf

并將     GetSiteCountAll = GetSiteCountAll & "<li>在線人數(shù): <script language=""javascript"" src=""" & DomainStr & "KS_Inc/online.asp?ID=1""></script> 人</li>" & vbcrlf

改成     GetSiteCountAll = GetSiteCountAll & "<li>在線人數(shù): <script language=""javascript"" src=""" & DomainStr & "KS_Inc/SiteCount.asp?ID=3""></script> 人</li>" & vbcrlf

這樣就大功告成了,在你的首頁適當(dāng)?shù)奈恢谜{(diào)用統(tǒng)計(jì)標(biāo)簽 {$GetSiteCountAll}就行了,最后別忘了,在你的每個(gè)頁面調(diào)用一下統(tǒng)計(jì)標(biāo)簽{$GetSiteOnline},不然訪問總數(shù)不會增加的哦,最好的方法是在頁面底部標(biāo)簽中調(diào)用,這樣方便。

說明一下,總點(diǎn)擊數(shù)只統(tǒng)計(jì)了文章模塊,如需統(tǒng)計(jì)別的模塊,請自行修改。

另外,可以打開數(shù)據(jù)庫KS_SiteCount表,找到Pageview字段,可以修改一個(gè)任何數(shù)字,增大自己的初始數(shù)值。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI