Pernahkah anda merasa ingin tahu berapa jumlah pengguna
internet (netters) yang melihat kujungan website milik anda atau mungkin anda
yang baru saja belajar pemrograman web membutuhkan beberapa ilmu tambahan untuk
menyempurnakan pekerjaan anda?
Disini saya akan membagi ilmu yang saya dapat tentang
menghitung jumlah user yang online dengan bahasa pemrograman PHP+MySQL.
langkah pertama pergi ke
http://localhost/phpmyadmin kemudian buat database dengan nama "latihan" dan copy-kan syntax SQL di bawah ini :
CREATE TABLE
`online` (
`session` char(100)
NOT NULL default '',
`waktu` int(11) NOT
NULL default '0'
) ;
setelah selesai silakan copy-kan beberapa syntax dibawah ini dengan aplikasi editor seperti Notepad++ (atau sejenisnya) :
<?php
$host="localhost";
$username="root";
$password="";
$nama_db="latihan";
$nama_tbl="user_online";
mysql_connect("$host", "$username",
"$password")or die("server tdak bisa tersambung");
mysql_select_db("$nama_db")or die("Database
tidak bisa dipilih");
simpan source code PHP diatas dengan nama
kabel.php.
_________________________________________________________________________________
<?php
include"kabel.php";//sambungan file php dengan
database MySQL
session_start();//awal mula sesi
$session=session_id();
$waktu=time()
$hitung_mundur=$waktu-600;//600 detik = 10 Menit
$mantra="SELECT * FROM $nama_tbl WHERE
session='$session'";
$hasil=mysql_query($mantra);
$hitungan=mysql_num_rows($hasil);
if($hitungan=="0"){//jika user tersebut sesinya
masih kosong maka user akan ditambahkan
$mantra1="INSERT
INTO $nama_tbl(session, time)VALUES('$session', '$waktu')";
$hasil1=mysql_query($mantra);
}
else { //jika tidak
maka data akan di update
$mantra2="UPDATE
$nama_tbl SET time='$waktu' WHERE session = '$session'";
$hasil2=mysql_query($mantra2);
}
$mantra3="SELECT * FROM $nama_tbl"
$hasil3=mysql_query($mantra3);
$hitung_user_online=mysql_num_rows($hasil3);//jumlah data
yang ada didatabase dihitung
echo "User online : $hitung_user_online ";
// jika lebih dari 10 menit maka data dari user tersebut
akan dihapus
$mantra4="DELETE
FROM $nama_tbl WHERE time<$hitung_mundur";
$hasil4=mysql_query($mantra4);
mysql_close();//sesi penutupan databasee
?>
kemudian simpan source code diatas dengan nama
index.php.
Penjelasan :
- ketika browser anda masih belum pernah mengunjungi dan mengeksekusi file ini maka
sesi dari browser akan dicatat dan akan diingat di database (INSERT).
- jika terdapat perubahan, data sesi akan diubah
(UPDATE).
- jika ada browser lain yang mengeksekusi file ini
maka ada sesi dari browser tersebut akan ditambah dan di ingat didatabase
(INSERT).
- semua data yang sudah di ingat didatabase akan
dijumlahkan dan akan ditampilkan ke file php tersebut.
jika lebih dari 10 menit data akan dihapus
berdasarkan jumlah waktu yang ditentukan (600 detik = 10 menit).
note : saya hapus beberapa source code dari program diatas agar anda bisa belajar dan meneliti dimana tempat kesalahan program tersebut dan memperbaikinya. jika anda tidak bisa menemukannya anda bisa mendownload link dibawah ini untuk mengunduhnya :