織夢dedeCMS文章防刷新機(jī)制的代碼_DedeCms教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!
      織夢dedeCMS文章防刷新機(jī)制的代碼
      最近發(fā)現(xiàn)織夢DEDECMS的文章點(diǎn)擊計(jì)數(shù)器有個(gè)弊端,就是只要你刷新一下網(wǎng)頁就做增加一次,

      也就是說只要有一個(gè)PV就算是一次點(diǎn)擊,有時(shí)我們?yōu)榱司_統(tǒng)計(jì)熱門文章,則需要防刷新機(jī)制,所以自己試著修改下PHP代碼,試了下,好像可以。 
       
      將plus/count.php 改為下面代碼就OK了. 
      1. <? 
      2. $__ONLYDB = true
      3. require_once(dirname(__FILE__)."/../include/config_base.php"); 
      4.   
      5. session_start();  //新加入 
      6.   
      7. if(empty($aid)) $aid="0"
      8. $aid = ereg_replace("[^0-9]","",$aid); 
      9. if(empty($mid)) $mid="0"
      10. $mid = ereg_replace("[^0-9]","",$mid); 
      11.   
      12. if (!isset($_SESSION['c_time'.$aid]))  //  如果第一次訪問,設(shè)定時(shí)間戳,并允許增加 
      13. {  
      14.     $_SESSION['c_time'.$aid] = time(); 
      15.   
      16.     $dsql = new DedeSql(false); 
      17.     $dsql->ExecuteNoneQuery("Update dede_archives set clickclick=click+1 where ID='$aid'"); 
      18.     if(!empty($mid)){ 
      19.     $dsql->ExecuteNoneQuery("Update dede_member set pageshowpageshow=pageshow+1 where ID='$mid'"); 
      20.     } 
      21.     if(!empty($view)){ 
      22.         $row = $dsql->GetOne("Select click From dede_archives  where ID='$aid'"); 
      23.         echo "document.write('".$row[0]."');\r\n"; 
      24.     } 
      25.     $dsql->Close(); 
      26.     exit(); 
      27.   
      28. elseif (time() - $_SESSION['ctime'.$aid] < 3600) // 如果在一小時(shí)內(nèi)刷新頁面,則不增加。按此可以設(shè)置永遠(yuǎn)不增加 
      29.     exit(); 
      30. } else {                        // 如果超過一小時(shí),則重新計(jì)時(shí),并允許增加 
      31.     $allow_insert = true
      32.     unset($_SESSION['ctime'.$aid]); 
       以上內(nèi)容僅供大家參考學(xué)習(xí),希望對你有幫助。
       

      查看更多 DedeCms教程  織夢模板  織夢DedeCms視頻教程  織夢dedecms專題

      來源:模板無憂//所屬分類:DedeCms教程/更新時(shí)間:2020-05-30
      相關(guān)DedeCms教程

      DedeCms教程教程Rss訂閱Cms教程搜索