Membuat log dengan PHP Codeigniter
Langsung aja bro apa itu log, gunanya buat apa??, gini deh bro, misal admin sistem pingin tau user siapa aja yang baru login,logut dari aplikasi kita, terus ada yang add,edit ,delete data itu siapa ajja user pelakunya … hehehe
jadi butuh namanya log buat di program aplikasi kita, ane bikin yang simpel ajja ya bro di codeigniter, terserah nanti mau di kembangin lagi, tinggal pakai logikanya, bisa juga buat tracking, buat di php native, asp atau bahasa pmograman lainya ….
sebelum mulai definisiin dulu kita mau bikin log buat apa ajja, contoh nih ya bro ane bikin log pada saat
0 = login
1 = logout
2 = add data
3 = edit data
4 = delete data
#DATABASE
pertama bikin table namain table_log
DROP TABLE IF EXISTS `tabel_log`; CREATE TABLE `tabel_log` ( `log_id` int(11) NOT NULL AUTO_INCREMENT, `log_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `log_user` varchar(255) DEFAULT NULL, `log_tipe` int(11) DEFAULT NULL, `log_desc` varchar(255) DEFAULT NULL, PRIMARY KEY (`log_id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
#HELPER
bikin helper, biar ga ngoding diulang-ulang, menuh-menuhin script ajja, tinggal di load,terus tinggal panggil … bikin file namanya log_helper.php save di dalem folder helper
function helper_log($tipe = "", $str = ""){ $CI =& get_instance(); if (strtolower($tipe) == "login"){ $log_tipe = 0; } elseif(strtolower($tipe) == "logout") { $log_tipe = 1; } elseif(strtolower($tipe) == "add"){ $log_tipe = 2; } elseif(strtolower($tipe) == "edit"){ $log_tipe = 3; } else{ $log_tipe = 4; } // paramter $param['log_user'] = $CI->session->userdata('username'); $param['log_tipe'] = $log_tipe; $param['log_desc'] = $str; //load model log $CI->load->model('m_log'); //save to database $CI->m_log->save_log($param); }
#AUTOLOAD
jangan lupa load dulu file autoload.php di folder config
$autoload['helper'] = array('url','form','log');
#MODEL
buat file baru di model namain m_log.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class M_log extends CI_Model { public function save_log($param) { $sql = $this->db->insert_string('tabel_log',$param); $ex = $this->db->query($sql); return $this->db->affected_rows($sql); } }
#CONTROLLER
tinggal panggil helpernya aja dari controller dari setiap function yang ngejalanin perintah login,logout,add,edit,delete dan ane kasih contoh cara manggilnya, tinggal di ganti kata-katanya ajja bro, dibawah ane kasih contoh panggil helpernya pada saat user menambahkan data barang
helper_log("add", "menambahkan data");
contoh ane gunain di controller funtion save barang
function save_barang() { $nama = $this->input->post('nama_barang'); $kategori = $this->input->post('kategori'); $harga = $this->input->post('harga'); $data = array('nama_barang'=>$nama,'kategori_id'=>$kategori,'harga'=>$harga); $this->model_barang->save_barang($data); //contoh panggil helper log helper_log("add", "menambahkan data"); //silahkan di ganti2 aja kalimatnya redirect('view_barang'); }
Boleh minta hasil/resultnya gan??
kalo mau lihat result/lognya kan bisa lihat di database gan
mantaaaaaaaaaaaaaapppp gaaaaaaaann sangat membantu
bg kok pesannya error gini katanya ya
Fatal error: Call to undefined function helper_log() in /var/www/html/CIPOS/application/controllers/Category.php on line 30
itu belum keload helper_log(); nya gan
jangan lupa load dulu, file autoload.php di folder config
$autoload[‘helper’] = array(‘url’,’form’,’log’);
Yang nulisnya kurang ganteng dan yang pasti jomblo sepertinya
Koq tu gan 😀
gan mau tanya, kalo buat nampilin hasil resultnya ke view gimana ya? tq
kalo mau lihat result atau hasil lognya kan bisa lihat di database gan
keren banggg , thanks banget
Hasilnya kaya gimana gan?
kalau hasilnya disimpan kedalam log.txt (file) gimana gan?
tinngal di save ke txt aja gan, jangan ke database … kira2 seperti ini gan ..
$this->load->helper(‘file’);
$data = ‘Some file data’;
if ( ! write_file(‘./path/to/file.php’, $data))
{
echo ‘Unable to write the file’;
}
else
{
echo ‘File written!’;
}
maaf, ditaruh dimana gan? maaf saya newbie
gan, maaf udah bisa kok. tapi kok write nya nggak bisa ngulang ya. jadi saya akses 3 halaman yang ditulis itu klikan halaman terakhir. itu gimana solusinya? script saya gini :
// paramter
$param_user = $CI->session->userdata(‘username’);
$param_tipe = $log_tipe;
$param_desc = $str;
$param_date = date(‘Y-m-d H:i:s’);
//load model log
//$CI->load->model(‘log_activity’);
//$CI->log_activity->save_log($param);
$data = ‘tanggal :’ .$param_date. ‘, username :’.$param_user. ‘, tipe akses :’ .$param_tipe. ‘, aktifitas :’ .$param_desc;
if ( ! write_file(‘log.txt’, $data))
{
echo ‘Unable to write the file’;
}
ane kena ini gan : Unable to load the requested file: helpers/log_helper.php
MAF MAU NANYA GAN .. KLO MAU NAMBAH IN DATA ID TABEL YANG DILAKUKAN PERUBAHAN KE TABEL LOG NYA GIMANA CARANYA YA GAN ?
Gan gak bisa muncul perintah gini
An uncaught Exception was encountered
Type: RuntimeException
Message: Unable to locate the model you have specified: M_log
Filename: D:\xampp\htdocs\kintacrud\system\core\Loader.php
Line Number: 344
fix nya gimana ya?
sip gan, sukses
Jika update biar ada data lama dan data baru gimana gan???
Kalo ngga bisa pake bisa php gmn yah ?
Gan boleh lihat isi tabel_log nya
field2 nya
Terimkasih untuk informasinya sangat membantu , sukses selalu
thankyou gan, saya kira buat logging itu mainnya di database, ternyata lewat aplikasi bisa juga
klo lewat aplikasi bagaimana caranya?
gan gue gak bisa ngambil session username. selalu waktu di run, values field null (tidak masuk database) yang lain bisa semua gan selain username
Gan kalo bikin add/edit/delete kebaca id record nya gmn ya?jd tau record mana yg dieksekusi
Gan, kalo mau simpan log data sebelum di edit gimana caranya, biar kita tau perubahan yang dilakukan apa
Thanks for every other informative site. Where else may I get that kind of info written in such an ideal method?
I’ve a mission that I am just now working on, and I have been at the look
out for such info.
It’s great that you are getting thoughts from this paragraph as well
as from our dialogue made here.
gAN, KOK log username nya ga masuk ya, null nih db knapa ya?
bang bisa dikirim souce kode nya gak ke email saya… terima kasih
tks gan.. sangat bermanfaat
alhamdulillah… sangat bermanfaat
CARA GET USERNAMENYA GIMANA YA ?