2014-03-27 7 views
3

나는 횟수 카운터를 작성했습니다, 그리고 그것을 잘 작동하지만, 문제는이 같은 생성자에서 해당 코드를 배치했습니다입니다 :내 PHP 코드 군에서 히트 카운터 코드를 어디에 두어야합니까?

// working code 
<?php 
class Welcome extends CI_Controller{ 
     function __construct() 
     { 
      hit_counter(); // works perfectly fine... 
     } 
     function view_blog() 
     { 
      // perfectly working code 
     } 
     function other_function() 
     { 
      // working fine 
     } 
} 

이제 문제는 사용자가 웹 사이트를 방문 할 때마다입니다 처음으로 코드를 실행하지만 view_blog을 방문하면 other_function에 실행될 때 다시 실행되고 싶습니다. 내 카운터는 한 번만 카운트하고 이후에는 카운트해야합니다. 그가 다음과 같은 다양한 기능을 방문 할 때가 아니라 다음 번 웹 사이트를 방문합니다.

답변

4

왜 PHP 원시 세션을 구현하지 않습니까? 이 구현을 위해 CI 세션을 진행할 수도 있습니다.

<?php 
session_start(); //<--- Add here 
class Welcome extends CI_Controller{ 
    function __construct() 
    { 
     if(!isset($_SESSION['visited'])) 
     { 
     hit_counter(); // works perfectly fine... 
     $_SESSION['visited'] = true; //<--- Sets here the first time. 
     } 
    } 
+0

하지만 그는 이후 방문의 30 초 – avinashizhere

+0

그가 브라우저 창이 닫힌 세션이 파괴됩니다 그래서 기본 세션을 사용하고있다 말할 수 있도록 생각하면 바로 그가 멀리 간다, 세션이있을 수 있으므로, 세션을 파괴하는 방법에 대해 설명합니다. –

+0

그것이 작동하지 않는 몇 가지 이유 때문에 브라우저와 탭도 닫았지만 다음 방문시에는 작동하지 않습니다. ( – avinashizhere