[ask] Record Activity User Database MySQL


Status
Not open for further replies.

pluto01

Hosting Guru
The Warrior
Verified Provider
Hai selamat siang rekan2,
Sambil baca2 DWH, saya terinspirasi untuk membuat sesuatu,

1. saya buat form add user = done,
2. buat form login/logout user = done
3. halaman dynamic per user dgn membaca sesion = done
4. Nah saya ingin membuat agar setiap user yg login maka aktifitasnya di record di database,
Contoh : User-A login lalu merubah Nama Aslinya, kemudian melakukan kirim email (kita anggap saja ada form untuk ngirim email di user page),
Nah saya pengen aktifitas tersebut di record
Contoh :
User-A merubaha Nama Aslinya pada 25/10/2014
User-A melakukan pengiriman email pada 25/10/2014
saya baca2 katanya bisa dilihat dari :
1. table dari database mysql (bawaan default)
--->>Table : mysql.general_log = saya cek ini hanya merecord aktifitas user yg ada pada system linux saja,
--->>Table : general_log_original = kosong,
2. Lalu ada yg bilang bisa menambahkan ini di my.cnf:
[mysqld]
log-output=TABLE,FILE
log-slow-queries
long-query-time=0.00001
general-log
general-log-file=/var/log/mysql_general.log
lalu bua database dgn table aktifi, sdh saya coba ga ngaruh jg tetap kosong db yg baru saya buat
coba tail -f /var/log/mysql_general.log jg kosong
3. Kira ada saran untuk ini ? soalnya perihal ini saya blm pernah coba
Beberapa link yg saya baca :
http://dba.stackexchange.com/questions/9772/how-to-do-mysql-user-accounting/9776#9776
http://stackoverflow.com/questions/...le-updates-in-one-activity-of-an-activity-log
http://dotnetslackers.com/articles/aspnet/Tracking-User-Activity.aspx
http://www.cakephp.co.uk/user_activity_cakephp_tutorial.html#sthash.0aT8Bv5O.dpbs

tapi sepertinya saya masih blm bisa menerapkannya
kira2 ada saran atau info referensi yg bs saya coba pelajari ?
terimakasih banyak sebelumnya
 

pluto01

Hosting Guru
The Warrior
Verified Provider
Jadi alur ceritanya gini
1. saya buat form create user, form login, setelah login ada halaman profilenya,
2. Di halaman profil ini user bisa edit datanya sendiri dan bisa kirim email,
Nah Contoh :
User-A login, kemudian dia coba edit datanya contoh rubah namanya lalu dia coba kirim email
Nah aktifitas user-A ini terecord ke table yg khusus untuk log aktifitasnya kurang lebih lognya :
User-A telah merubah namanya 26/10/2014
User-A telah mengirim email ke si-User-B pada 26/10/2014
database yg dipakai mysql
saya dah coba hasil searching di atas namun ga terecord aktifitasnya, kosong saja tablenya
 

exabytes-id

Expert 1.0
Jadi alur ceritanya gini
1. saya buat form create user, form login, setelah login ada halaman profilenya,
2. Di halaman profil ini user bisa edit datanya sendiri dan bisa kirim email,
Nah Contoh :
User-A login, kemudian dia coba edit datanya contoh rubah namanya lalu dia coba kirim email
Nah aktifitas user-A ini terecord ke table yg khusus untuk log aktifitasnya kurang lebih lognya :
User-A telah merubah namanya 26/10/2014
User-A telah mengirim email ke si-User-B pada 26/10/2014
database yg dipakai mysql
saya dah coba hasil searching di atas namun ga terecord aktifitasnya, kosong saja tablenya
Kalau saya sih taunya malah di setiap desicion bernilai true, saya beri query simpan ke DB ya. Misal login berhasilm selain nyimpan sesi, dia juga akan menyimpan info ke DB, begitu juga dengan logout maupun kirim pesan.
 

PusatHosting

Hosting Guru
Jadi alur ceritanya gini
1. saya buat form create user, form login, setelah login ada halaman profilenya,
2. Di halaman profil ini user bisa edit datanya sendiri dan bisa kirim email,
Nah Contoh :
User-A login, kemudian dia coba edit datanya contoh rubah namanya lalu dia coba kirim email
Nah aktifitas user-A ini terecord ke table yg khusus untuk log aktifitasnya kurang lebih lognya :
User-A telah merubah namanya 26/10/2014
User-A telah mengirim email ke si-User-B pada 26/10/2014
database yg dipakai mysql
saya dah coba hasil searching di atas namun ga terecord aktifitasnya, kosong saja tablenya

Oh kalau itu tidak sampai ke setting config mysqlnya, itu hanya di level applikasinya saja. biasanya sih dengan cara membuat tabel untuk mencatat aktifitasnya,
 

pluto01

Hosting Guru
The Warrior
Verified Provider
Kalau saya sih taunya malah di setiap desicion bernilai true, saya beri query simpan ke DB ya. Misal login berhasilm selain nyimpan sesi, dia juga akan menyimpan info ke DB, begitu juga dengan logout maupun kirim pesan.

Oh kalau itu tidak sampai ke setting config mysqlnya, itu hanya di level applikasinya saja. biasanya sih dengan cara membuat tabel untuk mencatat aktifitasnya,

Terimakasih banyak atas perncerahannya Mas,
Nah, kira2 ada link referensi yg bs saya coba pelajari Mas ?
karena saya dah coba buat table untuk record aktifitasnya namun masih kosong ga terecord (yach pasti kosong karena saya ga tahu bagaimana cara menangkap log aktifitas tersebut lalu merecordnya ke table yg baru saya buat :))
nah cara menangkap aktifitas itu lalu merecordnya ke suatu table itu yg saya ga paham :)
 

Ikkyū-san

Beginner 1.0
Saya pernah buat yang seperti itu.

Ada 2 cara:
  1. Via aplikasi webnya (session).
    Session untuk mengambil data user yang melakukan aktifitas tertentu, sehingga bisa di record nantinya tentang apa yang user tersebut lakukan, dan langkah apa yang harus dilakukan ke database (insert log, dll.).
  2. Via databasenya (trigger).
    Setiap ada aktifitas yang berhubungan dengan tabel user atau terkait dengan primary/foreign key id user, maka akan merekam aktifitas tersebut ke table lain secara otomatis dengan trigger di database, yaitu dengan kuncinya id user tersebut.
Kalau saya lebih memilih untuk bermain via level aplikasi webnya, karena lebih irit field di table database nantinya.

Jangan lupa kalau membuat table log untuk merekam aktifitas user, diberikan field yang bertipe DATE untuk merekam tanggal log tersebut. Sehingga nantinya Anda bisa menghapus record log dari dan sampai tanggal berapa, untuk menghindari membengkaknya data di table log tersebut.
 
Status
Not open for further replies.

Top