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

qCHXj

4 Komentar

FR-SYSTEM.WEB.ID

12-08-2010 | 07:12:46 contact@fr-system.web.id
yang tampil di layar apa? apa muncul pesan error atau layar kosong atau apa? klo tidak bisa coba download script pendukung dari artikel ini klik menu download --> Free Script --> Statistik Pengunjung

Budi

11-08-2010 | 01:20:37 popolidia@yahoo.com
Saya sudah membuat persis seperti yang ada......saya membuatnya di komputer local, sya buat database dan tabelnya juga persis seperti yang diatas. Tapi waktu dijalankan kok tidak bisa ya...? Mohon bantuannya ya pak.

FR SYSTEM

17-06-2010 | 12:21:44 contact@fr-system.web.id
mas coba liat script yg ini ###### koneksi.php ####, itu harus di sesuaikan dengan server punya mas tommy, klo keterangan seperti itu berarti cek disini : $db_user = "root"; $db_pass = " password server mas apa disini";

tommy

05-06-2010 | 11:18:01 mimbarsunnah@gmail.com
mas, ga' keluar stats malah kluar warning Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\user\index.php on line 39 dan diline2 seterusnya masalhnya apa ya?

Produk Kami

Popular Post

Facebook Page

Statistik Pengunjung

  • Hari ini
    :
    516
  • Kemarin
    :
    499
  • Bulan ini
    :
    15486
  • Tahun ini
    :
    62971
  • Total
    :
    2277072
  • Hits Count
    :
    3360309
  • Now Online
    :
    1 User