Jul
8

Tự tạo công cụ theo vết người dùng trong CakePHP

Author admin    Category Chia sẻ, Tutorial     Tags

Để theo vết người dùng bạn có thể sử dụng google analytic như bài trước tôi có đề cập, ngoài ra, bạn cũng có thể tự tạo một công cụ nho nhỏ để làm chuyện này (tất nhiên là tí hon so với google analytic!)

Trước hết bạn tạo một table để lưu thông tin người dùng vào website của bạn

CREATE TABLE `trackers`
( `id` int(11) NOT NULL auto_increment, 
`user_browser` varchar(255) NOT NULL, 
`user_ip` varchar(15) NOT NULL, 
`created` datetime NOT NULL, 
`model` varchar(50) NOT NULL, 
`action` varchar(50) default NULL, 
`clicked_from` varchar(200) default NULL, 
PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8_general_ci;

Tạo app/models/tracker.php

<?php
class Tracker extends AppModel {
  var $name = 'Tracker';
}
?>

Mở app_controller.php (hoặc tạo file này nếu bạn chưa có)

<?php
class AppController extends Controller
{
 
function recordActivity()
{
 
$pages = str_replace("/index.php",'', $_SERVER['PHP_SELF']);
$pages = explode("/", $pages);
 
$this->load('Tracker');
$data['Tracker']['model'] = $pages[2];
$data['Tracker']['action'] = $pages[3];
$data['Tracker']['user_ip'] = $_SERVER['REMOTE_ADDR'];
$data['Tracker']['user_browser'] = $_SERVER['HTTP_USER_AGENT'];
$data['Tracker']['clicked_from'] = $_SERVER['HTTP_REFERER'];
 
$this->Tracker->save($data);
 
unset($data);
}
 
function beforeFilter()
{
   $this->recordActivity();
}
 
}
?>

Lưu ý: Đoạn code trên chưa bao gồm mã kiểm tra người dùng refresh page liên tục, nếu bạn dùng, hãy chèn thêm session để kiểm tra và ngăn chặn

4 Comments to “Tự tạo công cụ theo vết người dùng trong CakePHP”

  • Lê Trung 06/12/2010 at 9:27 am

    Model mà sao AppHelper hả Admin?

  • admin 06/12/2010 at 1:03 pm

    Okie, thanks bạn, đã chỉnh lại!

  • Lê Trung 06/12/2010 at 4:34 pm

    Admin có code đếm lượt truy cập ko share cho mọi người với.
    Bộ đếm gồm các thông tin:
    + Số người đang online. (kể cả thành viên và khách)
    + Tổng số lượt truy cập trong ngày.
    + Truy cập nhiều nhất vào ngày xxx.
    + ….

  • vinh 16/10/2011 at 1:22 pm

    Admin ơi cho mình hỏi làm sao làm được thống kê lượt người truy cập bằng Tracker dc
    chỉ cho mình
    - Thống kê lượt người truy cập:

Post comment

Follow us on Twitter! Follow us on Twitter!
Diễn đàn CakePHP cho người Việt Nam

Bài viết mới

Thảo luận mới

TAG

Calendar

July 2010
M T W T F S S
« Jun   Aug »
 1234
567891011
12131415161718
19202122232425
262728293031  

Lưu trữ

Blogroll

Thống kê

5 khách