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

EeVPK

15 Komentar

wendy

30-08-2012 | 12:32:33 suwendi_wendi44@yahoo.com
MySQL result resource in C:\AppServ\www\coba\index.php on line 315 n sintaknya if($baca1==0){ .dan juga total hits gak nampil mksh

FR-SYSTEM.WEB.ID

03-07-2012 | 12:12:58 contact@fr-system.web.id
kalo sudah, sambil gabung desaign gambar pake photoshop, na selanjutnya biar web jadi dinamis coba belajar PHP dan Mysql, gitu gan

FR-SYSTEM.WEB.ID

03-07-2012 | 12:11:43 contact@fr-system.web.id
xampp hanya webservernya saja, yg didalamnya sudah 1 paket apache,php dan mysql, na kalo mau belajar buat web coba baca dasar2 HTML, css dulu

amlik gilaz

29-06-2012 | 03:02:26 amlikgilaz@yahoo.co.id
cara buatin website dengan xampp dan mysql gmn ya awal memulainya... trimaksih duluan

FR-SYSTEM.WEB.ID

28-06-2012 | 04:55:00 contact@fr-system.web.id
Maksudnya gmana? apakah yg di maksud total pembaca artikel kita?

marisa premitasari

22-06-2012 | 03:44:36 marisa.premitasari@gmail.com
mas, ada gak statistik pengunjungnya itu untuk setiap halaman, jadi keliyatan orang yang benar2 tertarik sama web kita. trims

FR-SYSTEM.WEB.ID

27-05-2012 | 11:54:56 contact@fr-system.web.id
yang bingung tentang buat statistik pengunjung, ini ada yg pernah bertanya bisa YM http://fr-system.web.id/?page=artikel&&artikel=ada_yg_bertanya_tentang_Statistik_Pengunjung_via_Yahoo_Messenger

FR-SYSTEM.WEB.ID

27-05-2012 | 11:02:27 contact@fr-system.web.id
linknya download source code Statistik pengunjung  http://fr-system.web.id/proc_download.php?download=133

FR-SYSTEM.WEB.ID

27-05-2012 | 11:01:06 contact@fr-system.web.id
Thanks untuk Seluruh komentarnya, untuk yang kebingungan buat statistik pengunjung, ngikutin  modul di atas tetep bingung, ni ada link source codenya, silahkan di download http://fr-system.web.id/proc_downl

raga

mantap gan tutorialnya,, terus kembangin,, sangat beermanfaat

tady

08-05-2012 | 09:19:05 tadycools@yahoo.com
dari script diatas tidak menampilkan apa, coba dicek untuk script terakhir sebab pada field yang akan ditampilakn tidak ada deklarasi, di script ini Online : Total Hits : Hits Hari Ini : Kemarin : Bulan Ini : Tahun Ini : Total : itu ma

nurohmat

01-02-2012 | 03:22:57 lembaga.us@gmail.com
masih Ga jelas bgt.. setengah2

heru

12-12-2011 | 04:49:47 herus68@yahoo.co.id
cara pemanggilan untuk hari ini, bulan ini, dsb.. cara pemanggilannya echo gmn.?? nah kLo sript yg d'bwah banner itu script ditaro dmn.?? toLong pencerahan.. kirim ke emaiL..herus68@yahoo.co.id

FR-SYSTEM.WEB.ID

27-08-2011 | 01:05:36 contact@fr-system.web.id
untuk total hit diambil dari file counter.php yang di include ke file utama, sedangkan untuk total itu diambil dari variabel $visitor, na variabel itu yg di echo dan dijadikan total

fahri

24-08-2011 | 04:40:29 fahry_hoz_ganx@yahoo.com
mas kalo yg total hits dan total ngambil echo nya yang mana sedang kan disitu cuman ada 5 doang tolong bantu ya mas

Produk Kami

Popular Post

Facebook Page

Statistik Pengunjung

  • Hari ini
    :
    38
  • Kemarin
    :
    921
  • Bulan ini
    :
    10646
  • Tahun ini
    :
    58131
  • Total
    :
    2272232
  • Hits Count
    :
    3356987
  • Now Online
    :
    1 User