Menu

Detail Artikel

Home/ Web Design/Detail Artikel

Membuat Statistik Pengunjung Menggunakan PHP

kali ini saya mau sharing tentang pembuatan statistik pengunjung, yang fungsinya adalah agar yg punya website dan pengunjung website tau berapa banyak yang mengunjungi website yg kita miliki. pada statistik pengunjung ini akan menampilkan informasi berapa banyak pengunjung website pada hari ini, berapa banyak pengunjung website kemain, bulan ini, tahun ini dan total seluruh pengunjung. dan terdapat informasi Hits Count yaitu informasi tentang berapa kali halaman pada website kita di buka oleh pengunjung, atau di refresh oleh pengunjung. dan ada juga informasi siapa saja yang sedang online saat ini.

yang harus di siapkan pertama adalah server website kita, disini saya gunakan Xampp 1.6, silahkan di aktifkan terlebih dahulu web server anda, jika sudah buat database baru dengan cara buka web browser dan ketikkan http://localhost/phpmyadmin , atau temen - temen juga bisa membuatnya dengan menggunakan software seperti Mysql-Front atau SQLYog. dan masih banyak lagi. buatlah database dengan nama misal :artikelhitcounter, jika sudah selanjutnya buat tabel konter, hitscounter, dan useronline. dan field - fieldnya bisa liat

 


##### Script Mysql Di bawah ini ########

CREATE TABLE `hitscounter` (
`hits` varchar(100) collate latin1_general_ci NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT INTO `hitscounter` VALUES ('0');

CREATE TABLE `konter` (
`ip` varchar(50) collate latin1_general_ci NOT NULL default '',
`tanggal` varchar(20) collate latin1_general_ci NOT NULL default '',
`waktu` varchar(20) collate latin1_general_ci NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

CREATE TABLE `usersonline` (
`timestamp` varchar(100) collate latin1_general_ci NOT NULL default '',
`ip` varchar(100) collate latin1_general_ci NOT NULL default '',
`file` varchar(100) collate latin1_general_ci NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

jika database dan tabel sudah selesai di buat, di bawah ini script PHPnya.

###### koneksi.php ####

<?
$server = "localhost";
$db_user = "root";
$db_pass = "";
$db = "fr_system";
$koneksi=mysql_connect($server,$db_user,$db_pass);
mysql_select_db($db,$koneksi);
?>

##### useronline.php ######

<?
include "koneksi.php";
$to_secs = 120;
$t_stamp = time();
$timeout = $t_stamp - $to_secs;
$REMOTEADDR=$_SERVER['REMOTE_ADDR'];
$PHPSELF=$_SERVER['PHP_SELF'];
mysql_connect($server, $db_user, $db_pass) or die ("Useronline Database CONNECT Error");
mysql_db_query($db, "INSERT INTO usersonline VALUES ('$t_stamp','$REMOTEADDR','$PHPSELF')") or die("Database INSERT Error");
mysql_db_query($db, "DELETE FROM usersonline WHERE timestamp<$timeout") or die("Database DELETE Error");
$result = mysql_db_query($db, "SELECT DISTINCT ip FROM usersonline WHERE file='$PHPSELF'") or die("Database SELECT Error");
$user = mysql_num_rows($result);
mysql_close();

if ($user == 1){
echo "<b>$user</b> User";
}
else{
echo "<b>$user</b> Users";
}
?>

####### counter.php #######

<?
include "koneksi.php";
$countertabel=mysql_query("SELECT * FROM hitscounter");
$totalyangada=mysql_fetch_array($countertabel);
$totalyangada1=$totalyangada[hits]+1;
$updatecounter=mysql_query("UPDATE hitscounter SET hits = '$totalyangada1'");
$tampilkansekarang=mysql_query("SELECT * FROM hitscounter");
$tampilkansekarang1=mysql_fetch_array($tampilkansekarang);
echo "$tampilkansekarang1[hits]";
?>

###### index.php #########

<?
session_start();
$tip=$_SESSION['ip'];
$tjam=$_SESSION['jam'];
$ttgl=$_SESSION['tgl'];
if($tip=='' && $tjam=='' && $ttgl==''){
$ip=$_SERVER['REMOTE_ADDR'];
$jam=date("h:i:s");
$tgl=date("d-m-Y");
$_SESSION ["ip"] = $ip;
$_SESSION ["jam"] = $jam;
$_SESSION ["tgl"] = $tgl;
}
$sip=$_SESSION['ip'];
$sjam=$_SESSION['jam'];
$stgl=$_SESSION['tgl'];
require "koneksi.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="102" colspan="2" align="center" valign="middle" bgcolor="#99CC00">BANNER</td>
</tr>
<tr>
<td width="206" height="88" align="center" valign="top"><?php
$ip=$_SERVER['REMOTE_ADDR'];
$tanggal=date("d-m-Y");
$tgl=date("d");
$bln=date("m");
$thn=date("Y");
$tglk=$tgl-1;
$baca=mysql_query("SELECT * FROM konter WHERE ip='$sip' AND tanggal='$stgl' AND waktu='$sjam'");
$baca1=mysql_num_rows($baca);
if($baca1==0){
$tkonter=mysql_query("INSERT INTO konter VALUES ('$sip','$stgl','$sjam')");
}
$q=mysql_query("SELECT * FROM konter");
$blan=date("m-Y");
$bulan=mysql_query("SELECT * FROM konter WHERE tanggal LIKE '%$blan%'");
$tahunini=mysql_query("SELECT * FROM konter WHERE tanggal LIKE '%$thn%'");
$today=mysql_query("SELECT * FROM konter WHERE tanggal='$tanggal'");
if($tglk=='1' | $tglk=='2' | $tglk=='3' | $tglk=='4' | $tglk=='5' | $tglk=='6' | $tglk=='7' | $tglk=='8' | $tglk=='9'){
$kemarin=mysql_query("SELECT * FROM konter WHERE tanggal='0$tglk-$bln-$thn'");
} else {
$kemarin=mysql_query("SELECT * FROM konter WHERE tanggal='$tglk-$bln-$thn'");
}
$visitor = mysql_num_rows($q);
$bulan1=mysql_num_rows($bulan);
$tahunini1=mysql_num_rows($tahunini);
$kemarin1 = mysql_num_rows($kemarin);
$todays=mysql_num_rows($today);
?>
<table width="189" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="109"> Online </td>
<td width="80">: <? include "useronline.php"; ?> </td>
</tr>
<tr>
<td> Total Hits</td>
<td>:
<? include "counter.php"; ?>
Hits </td>
</tr>
<tr>
<td>Hari Ini </td>
<td>:
<?=$todays;?></td>
</tr>
<tr>
<td>Kemarin</td>
<td>:
<?=$kemarin1;?></td>
</tr>
<tr>
<td>Bulan Ini</td>
<td> :
<?=$bulan1;?></td>
</tr>
<tr>
<td> Tahun Ini </td>
<td>:
<?=$tahunini1;?></td>
</tr>
<tr>
<td> Total</td>
<td>:
<?=$visitor;?></td>
</tr>
</table>&nbsp;</td>
<td width="594">&nbsp;</td>
</tr>
<tr>
<td height="25" colspan="2" align="center" valign="middle" bgcolor="#99CC00">Footer</td>
</tr>
</table>
</body>
</html>

dan setelah di jalankan maka hasilnya seperti gambar di bawah ini :

silahkan di coba, semoga sukses

Artikel Lainnya

Komentar Anda

JSZl0

15 Komentar

fahri

24-08-2011 | 04:39:05 [email protected]
mas kalo yg total hits

toni

23-06-2011 | 12:34:27 [email protected]
kok gak bisa kak ?? tolong donk aku kirim scriptnya yang lengkap sekalian script indexnya. Trims kak

FR-SYSTEM.WEB.ID

13-05-2011 | 09:36:30 [email protected]
saya kirim lewat email untuk sidebarnya

ombare [dot] com

11-05-2011 | 01:28:24 [email protected]
mantaf ni Mas............ aku mau tanya cara buat di SliderBar Website gimana mas/ aku mau buat di www.ombare.com email ke [email protected] ya mas.... thanks

FR-SYSTEM.WEB.ID

07-05-2011 | 04:04:02 [email protected]
erornya seperti apa? koneksi ke database sudah benar apa blm? karna server waktu di localhost sama online berbeda

Hari

05-05-2011 | 12:57:19 [email protected]
sukses di localhost,,pas di upload ke server ga bisa..tampilan ada,,cuma ada syntax yang error,mohon pencerahannya

FR-SYSTEM.WEB.ID

07-04-2011 | 11:34:38 [email protected]
2 pc berbeda itu dalam 1 warnet atau bagaimana? biar bisa bertambah ujia cobanya di 2 warnet, karna yg di catat oleh sistem bukan IP komputer tetapi IP publich setia warnet, dan setiap warnet biasanya hanya punya 1 ip publich

Erlangga

04-04-2011 | 11:23:11 [email protected]
Mas mo nanya nih... kok pengunjung yg onlinenya tidak bertambah saya udah coba dari 2 pc yg berbeda sama mengunjungi situsnya.. pie online tetap 1 tidak bertambah.. kira kira salah dimana ea mas... sebelumnya makasih mas

vir0e5

26-03-2011 | 02:32:01 [email protected]
adeuh...witwiw!! scriptna keren!! izin cuba

FR-SYSTEM.WEB.ID

12-02-2011 | 03:52:26 [email protected]
coba cek nama tabel sudah sesuai blm dngan tabel di database. N cek jg penulisan variabelnya

onis

09-02-2011 | 12:07:15 [email protected]
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in E:\xampp\htdocs\kresna\index.php on line 459 Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in E:\xampp\htdocs\kresna\index.php on line 474 W

FR-SYSTEM.WEB.ID

19-12-2010 | 09:55:23 [email protected]
coba sampelnya di download aja, harusnya bisa

fauzi

22-11-2010 | 11:40:50 [email protected]
kang, saya udah coba semuanya,, ko $sip nya belum terdeklarasi ya.. mohon bantuannya.

FR-SYSTEM.WEB.ID

20-08-2010 | 05:01:35 [email protected]
website sudah online atau masih localhost? klo sudah online ya kebacanya tetep 1 karna yg di baca hanya ip servernya saja.

Budi

16-08-2010 | 01:11:04 [email protected]
Saya sudah download file dan database. saya coba terapkan di website kami dan bisa berjalan. saya coba buka website kami di beberapa PC, yang di StatistikPengunjungnya yang Online kok hanya 1user ya...? Bagaimana bekerjanya system di Statistik Pengunjun

Produk Kami

Popular Post

Facebook Page

Statistik Pengunjung

  • Hari ini
    :
    275
  • Kemarin
    :
    921
  • Bulan ini
    :
    10883
  • Tahun ini
    :
    58368
  • Total
    :
    2272469
  • Hits Count
    :
    3357159
  • Now Online
    :
    1 User