Skript user online


Status
Not open for further replies.

a.syaripudinst

Beginner 1.0
Pada skrip user online, terdapat $timestamp, $timeout, dan $timeoutseconds. $timestamp=time().Dibeberapa buku saya membaca Author menetapkan nilai $imeoutseconds berbeda-beda, ada yang 900 dan 300.Sedangkan $timeout=$timestamp-$timeoutseconds. Saya tidak mengerti untuk apa $timesoutsecond, dan mengapa nilainya ditetapkan sebesar 900 atau 300. $timestamp=time(), ini merupakan waktu pertama kali user aktif. Jika user mulai akif jam 08:00:00. maka untuk menghitung $timeout=08:00:00 - 900 atau bagaimana perhitungannya, saya tidak mengerti mengingat dibeberapa buku yang saya baca tidak dijelaskan secara detail. Jika User logout, maka $timestamp<$timeout, maka user didelete, sehingga jumlah user online menjadi berkurang. Apakah 08:00:00 - 900 menyebabkan nilai $timestamp<$timeout, bagaimana perhitungannya, saya juga tidak mengerti.Mhon bantuannya pada teman-teman diforum ini untuk menjelaskan hal ni, karena saya bingung dan dak mengerti. saya tunggu informasnya diforum ini. Atas perhaian dan bantuan nya saya ucapkan terima kasih.
 
Biasanya sessionnya dicatat ulang ketika user tersebut membuka halaman lain/merefresh sehingga last time user aktifnya tercatat
seterusnya ketika ga ada aktivitas dan timingnya melebihi waktu yg ditentukan trus user mau mengakses halaman lain maka dia otomatis logout
 
lebih sulit dan dibutuhkan waktu banyak untuk mempelajari script orang, lebih recomended kalo konsep/logikanya dapet dulu baru dituangkan ke script :) pengalaman saya seperti itu.

mempelajari script orang itu bagus, melatih logika juga tetapi kalo nggak bisa nangkep logikanya malah bingung.

dicoba saja dulu yang sederhana, misalnya setiap ip yang berbeda maka user online + 1, kalo itu dah dapet kembangkan lagi supaya dianggap online apabila memenuhi kriteria tertentu. misalnya catat waktu pertama akses di database dan bandingkan dengan jam server, lebih 5 menit dianggap tidak online artinya -1 :) jadi nantinya update terakhir user yang online ada di user terakhir akses.

nanti juga logika berjalan seiring dengan kebutuhan koq :)

semangattt ..
 
Jangan terlalu fokus sama buku kang, fokus lah pada logika..

untuk saia sendiri, sistem online spt ini:

Member Online:
Simple aza, cukup siapin 2 field pokok, user_id sama user_load_time

user_id = untuk menyimpan ID user yg login
user_load_time = untuk menyimpan time saat si member refresh halaman atauload halaman baru.

Saat member berhasil login, sisipkan query untuk insert ke db:
PHP:
$insert= "INSERT INTO db_online (user_id, user_load_time)
VALUES ('".$_SESSION['userid']."', '".time()."')";

dan disetiap page harus ada query untuk update database online ini, supaya data tetap uptodate.. yg dibutuhin ada 2, untuk update dan untuk delete.

misal:
PHP:
$update = "UPDATE db_online set user_load_time = '".time()."' WHERE user_id = '".$_SESSION['userid']."'";

$delete = "DELETE from db_online WHERE user_load_time < '".time()-900."'";


untuk guest online:
sama spt member online, hanya yg didetect'n itu buken user_id melainkan IP si guest tsb,,,


Satu lagi, penentuan usertimeout, itu tergantung kita, dikira2 aza, "user di website kita butuh berapa menit sih buat baca2 di tiap page.?!" kalo emang butuh lama, misal karena blog kita panjang, ya kita set aza timout'n itu 900-1200 (15mnt-20mnt).


Makasih, moga membantu. :-)
 
Status
Not open for further replies.
Back
Top