2015-07-28 5 views
2

У меня есть код ниже:Hit Counter в Codeigniter

(шаг за шагом)

  1. Поместите counter.txt в APPPATH . 'logs/counter.txt'
  2. Сделать counter_helper.php набор в APPPATH . 'helpers/counter_helper.php';
  3. Autoload new created helper in APPPATH . 'config/autoload.php' файл;
  4. Сделать MY_Controller.php в APPPATH . 'core/MY_Controller.php'
  5. Любой контроллер должен распространяться MY_Controller вместо CI_Controller;
  6. Echo это на странице: <?php echo $this->count_visitor;?>

Помощнику:

<?php defined('BASEPATH') OR exit('No direct script access allowed.'); 

if (! function_exists('count_visitor')) { 
    function count_visitor() 
    { 
     $filecounter=(APPPATH . 'logs/counter.txt'); 
     $kunjungan=file($filecounter); 
     $kunjungan[0]++; 
     $file=fopen($filecounter, 'w'); 
     fputs($file, $kunjungan[0]); 
     fclose($file); 
     return $kunjungan[0]; 
    } 
} 

Ядро:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class MY_Controller extends CI_Controller 
{ 
    public $count_visitor; 
    public function __construct() 
    { 
    parent::__construct(); 
     $this->count_visitor = count_visitor(); 
    } 
} 
/* End of file MY_Controller.php */ 
/* Location: ./application/core/MY_Controller.php */ 

Контролер:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
class Home extends MY_Controller { 
public function index() { 
$data=array('isi'  =>'home/index_home'); 
$this->load->view('layout/wrapper',$data); 
} 
} 

The View :

<?php echo $this->count_visitor;?> 

код возвращает ошибку, как показано ниже: enter image description here

+1

можете ли вы вставить вспомогательный код из вашего '/ config/autoload.php'? –

+2

Да, я написал это [инструкция] (http://stackoverflow.com/questions/29751089/visitor-counter-and-online-support-with-codeigniter/29753156#answer-29753156), и он протестирован и отлично работает. Не забудьте загрузить помощника. И чтобы переименовать файл MY_Controller.php, как здесь, я только что написал. – Tpojka

+0

да ... это работа. я просто забыл загрузить помощника в автозагрузку. –

ответ

2

Я получил его на работу хорошо, когда я загрузил помощник $this->load->helper('counter');

применение> ядро> MY_Controller.php

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class MY_Controller extends CI_Controller 
{ 
    public $count_visitor; 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->helper('counter'); 
     $this->count_visitor = count_visitor(); 
    } 
} 
+0

спасибо ... это работа –

+0

Ваш прием :) – user4419336