2017-05-22 105 views
1

以下腳本更新瀏覽量(如果其來自獨特訪客)。該頁面從數據庫檢索博客文章並在屏幕上打印。當第一次訪問博客文章時,腳本應該將其網頁瀏覽字段更新爲1.但是,腳本正在更新每個頁面刷新時的瀏覽量,而不是隻記錄唯一視圖。PHP獨特的瀏覽量計數器無法正常工作

if($_SESSION[$isPostID] != $isPostID) 
{ 
    try 
    { 
     $updatePageViews = $db2->prepare("UPDATE articles SET pageviews = pageviews+1 WHERE id = :id"); 
     $updatePageViews->execute(array(':id' => $isPostID)); 
     if($updatePageViews->rowCount() != 1) 
     { 
      @createLog("Unable to update pageviews.","Unable to update pageviews!!! Title = [".$istitle."]."); 
     } 
     else{ $_SESSION[$isPostID] = $isPostID;} 
    } 
    catch(PDOException $updatePageViewsERR) 
    { 
     $subject = "Pageviews Updation--Update data into database. [PAGE= ".$istitle."]. Error Code: #15"; 
     $text = $updatePageViewsERR->getMessage(); 
     @createLog($subject,$text); 
    } 
} 

$ isPostID是分配給數據庫表中每個博客文章的唯一ID。 注意:會話已在腳本中啓動。

+0

首先,你確定會話機制的工作? session_start()是否到位/自動化?你有沒有試過打印'$ _SESSION'並看看裏面有什麼? –

回答

0

第一行有兩個錯誤。

第一:在條件中沒有右括號。我想這只是一個錯字,否則會給你帶來致命的錯誤。

第二:你在比較$isPostID$isPostId這是兩個不同的變量。這可能正是爲什麼它不起作用。

看看它是否解決了問題

+0

比較這兩個變量時,它們是相同的。我編輯了源代碼。但他們仍然沒有像預期的那樣工作。 –

相關問題