2017-05-22 8 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

두 변수를 비교하면서 동일합니다. 나는 소스 코드를 편집했다. 그러나 그들은 예상대로 작동하지 않습니다. –