織夢dedeCMS文章防刷新機制的代碼_DedeCms教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
織夢dedeCMS文章防刷新機制的代碼
最近發現織夢DEDECMS的文章點擊計數器有個弊端,就是只要你刷新一下網頁就做增加一次,
也就是說只要有一個PV就算是一次點擊,有時我們為了精確統計熱門文章,則需要防刷新機制,所以自己試著修改下PHP代碼,試了下,好像可以。
最近發現織夢DEDECMS的文章點擊計數器有個弊端,就是只要你刷新一下網頁就做增加一次,
也就是說只要有一個PV就算是一次點擊,有時我們為了精確統計熱門文章,則需要防刷新機制,所以自己試著修改下PHP代碼,試了下,好像可以。
將plus/count.php 改為下面代碼就OK了.
- <?
- $__ONLYDB = true;
- require_once(dirname(__FILE__)."/../include/config_base.php");
- session_start(); //新加入
- if(empty($aid)) $aid="0";
- $aid = ereg_replace("[^0-9]","",$aid);
- if(empty($mid)) $mid="0";
- $mid = ereg_replace("[^0-9]","",$mid);
- if (!isset($_SESSION['c_time'.$aid])) // 如果第一次訪問,設定時間戳,并允許增加
- {
- $_SESSION['c_time'.$aid] = time();
- $dsql = new DedeSql(false);
- $dsql->ExecuteNoneQuery("Update dede_archives set clickclick=click+1 where ID='$aid'");
- if(!empty($mid)){
- $dsql->ExecuteNoneQuery("Update dede_member set pageshowpageshow=pageshow+1 where ID='$mid'");
- }
- if(!empty($view)){
- $row = $dsql->GetOne("Select click From dede_archives where ID='$aid'");
- echo "document.write('".$row[0]."');\r\n";
- }
- $dsql->Close();
- exit();
- }
- elseif (time() - $_SESSION['ctime'.$aid] < 3600) // 如果在一小時內刷新頁面,則不增加。按此可以設置永遠不增加
- {
- exit();
- } else { // 如果超過一小時,則重新計時,并允許增加
- $allow_insert = true;
- unset($_SESSION['ctime'.$aid]);
- }
以上內容僅供大家參考學習,希望對你有幫助。
相關DedeCms教程:
- DedeCMS采集教程:過濾替換的技巧
- DedeCMS系統參數設置手冊之互動設置 相關案例演示
- 織夢CMS實現軟件及分類信息采集的方法
- 如何實現織夢dedecms會員登陸后就不顯示廣告
- 搜索框里顯示字段鼠標點擊后就隱藏的方法
- dedecms下廣告延時加載顯示,大大提高網頁訪問的速度
- DEDECMS復制文章帶本站鏈接代碼實例
- 織夢(dedecms)優化之更改RSS、sitemap路徑至根目錄
- 織夢DEDECMS5.7相關文章的調用問題
- 織夢刪掉會員空間,保留開放會員(禁止注冊)的方法
- 織夢dedecms channelartlist下autoindex失效解決辦法
- Dedecms 自定義表單提交后自動發送表單數據到指定郵箱的思路
。