• Login
  • Join
  • Home
  • Profil
  • Cara Pembelian
  • Kontak

logo

  • Home
  • Kategori Tutorial
    • Ajax - JQuery
    • API Developer
    • CakePHP
    • CodeIgniter
    • HTML & CSS
    • Lain-lain
    • MySQL - MySQLi
    • OOP PHP
    • PHP Classic
    • Smarty PHP
    • SMS Gateway
    • Version Control
  • Download
  • My Books
  • Prosedur Penulisan Naskah
  • Toko Online
  • My Sites
    • Asfamedia.com
    • Asfasolution.com
    • Komiqu.com
Home
  • Home
  • Login
  • Join
  • Kategori Tutorial
    • Ajax - JQuery
    • API Developer
    • CakePHP
    • CodeIgniter
    • HTML & CSS
    • Lain-lain
    • MySQL - MySQLi
    • OOP PHP
    • PHP Classic
    • Smarty PHP
    • SMS Gateway
    • Version Control
  • Download
  • Info Buku
  • Prosedur Penulisan Naskah
  • Toko Online
  • My Sites
    • Asfamedia.com
    • Asfasolution.com
    • Oaseast.com
  • Pembelian online saat ini dialihkan ke www.asfamedia.com
  • Dapatkan diskon hingga 40% dengan bergabung sebagai member di asfamedia.com (Khusus buku-buku penerbit CV. ASFA Solution)
  • Segera daftarkan email Anda di newsletter melalui right column untuk mendapatkan informasi terbaru agussaputra.com
  • Artikel dan informasi yang ditampilkan bisa Anda copy, dengan catatan: menuliskan sumber : agussaputra.com
  • Home
  • Artikel
  • Membuat Statistika Pengunjung Secara Dinamis

Membuat Statistika Pengunjung Secara Dinamis

31 Mei 2012
61   
34.384

Membuat Statistika Pengunjung Secara Dinamis

Ada beberapa pembaca ingin menanyakan bagaimana sih cara membuat Statistika Pengunjung? Statistika pengunjung berguna juga untuk mengetahui berapa banyak orang yang mengunjungi web kita dan kali ini, penulis ingin memberikan trik untuk proses pembuatan statistika pengunjung.

Kita memiliki database dbstatistika dengan tabel tstatistika dimana memiliki spesifikasi field sebagai berikut:

ip | varchar(20)
tanggal | date
hits | INT(11)
online | varchar(255)


selanjutnya kita bikin sedikit skrip dengan nama statistik.php, yang skripnya sebagai berikut:

<?php
// skrip koneksi database
mysql_connect("localhost","root","");
mysql_select_db("dbstatistika");

$ip      = $_SERVER['REMOTE_ADDR']; // Mendapatkan IP komputer user
$tanggal = date("Ymd"); // Mendapatkan tanggal sekarang
$waktu   = time(); //
 
// Mencek berdasarkan IPnya, apakah user sudah pernah mengakses hari ini
$s = mysql_query("SELECT * FROM tstatistika WHERE ip='$ip' AND tanggal='$tanggal'");

// Kalau belum ada, simpan data user tersebut ke database
if(mysql_num_rows($s) == 0){
    mysql_query("INSERT INTO tstatistika(ip, tanggal, hits, online) VALUES('$ip','$tanggal','1','$waktu')");
}
// Jika sudah ada, update
else{
    mysql_query("UPDATE tstatistika SET hits=hits+1, online='$waktu' WHERE ip='$ip' AND tanggal='$tanggal'");
}

$pengunjung       = mysql_num_rows(mysql_query("SELECT * FROM tstatistika WHERE tanggal='$tanggal' GROUP BY ip")); // Hitung jumlah pengunjung
$totalpengunjung  = mysql_result(mysql_query("SELECT COUNT(hits) FROM tstatistika"), 0); // hitung total pengunjung
$bataswaktu       = time() - 300;
$pengunjungonline = mysql_num_rows(mysql_query("SELECT * FROM tstatistika WHERE online > '$bataswaktu'")); // hitung pengunjung online
?> 

Hari ini : <?php echo $pengunjung; ?> 
Total : <?php echo $totalpengunjung; ?>
Pengunjung Online : <?php echo $pengunjungonline; ?>


Terakhir, langsung jalankan saja via browser dengan mengetikan http://localhost/statistik.php, dan lihat hasilnya.. :)

Semoga skrip kali ini dapat memberikan manfaat kepada Anda.

recommend to friends
  • twitter

Artikel Terkait

MySQL Deprecated? Bagaimana Jika Sudah Terlanjur Menggunakan?

MySQL Deprecated? Bagaimana Jika Sudah Terlanjur Menggunakan?

23-03-2020 0
PHP: Menghitung Jumlah Hari Tertentu pada Periode Tanggal Tertentu

PHP: Menghitung Jumlah Hari Tertentu pada Periode Tanggal Tertentu

31-12-2018 0
Mengirim Email Lampiran di PHP (File Attachment)

Mengirim Email Lampiran di PHP (File Attachment)

16-01-2017 0
Membuat Menu Tree Sendiri

Membuat Menu Tree Sendiri

07-11-2016 0

Komentar

  1. syafrin
    31-05-2012, 14:47:34

    nich dia yng ku tunggu........hatur nuhun...mas.......mantap tutorialnya,,:-)

  2. Agus Saputra
    01-06-2012, 08:59:46

    syafrin @ mantabs.. ^^

  3. wahyu
    10-06-2012, 15:49:26

    ada gak yang lebih ringan di databasenya ya? soalnya aku pakai skrip dan database seperti ini di web sekitar 1 tahun, databasenya paling besar untuk nyimpan statistik ini. sewaktu backup database hampir 2MB padahal tanpa tabel statistik cma 300kb aja... mkasih...

  4. Agus Saputra
    14-06-2012, 08:39:33

    wahyu @ bisa, tanpa menggunakan database.. tapi menggunakan Hits Counter.. jadi Anda siapkan file data.txt, kemudian tulis skrip berikut:

    Skrip counter.php
    <?php
    //Baca File
    $f="data.txt";
    $h=fopen($f,"r ");
    $c=fread($h,filesize($f));
    fclose($h);

    $isi=$c+1;

    //TulisFile
    $f=fopen("data.txt","w");
    if($f){
    fputs($f,$isi);
    fclose($f);
    }
    else {echo"gagal";}

    //BacaFile
    $f="data.txt";
    $h=fopen($f,"r ");
    $c=fread($h,filesize($f));
    fclose($h);


    //Menampilkan di Layar
    echo"$c";
    ?>

    Jalankan counter.php via localhost..

  5. dani
    07-07-2012, 07:40:39

    saya mengalami masalah pada baris 'if(mysql_num_rows($s) == 0)' padahal sebelumnya tidak ada masalah apapun. Bagaimana cara memperbaikinya?

  6. Agus Saputra
    08-07-2012, 00:18:22

    dani @ masalahnya bagaimana?

  7. opy
    10-07-2012, 10:19:34

    terima kasih tutorialnya mas, sy sdh coba dan berhasil.
    Tapi pada pengunjung online defaultnya itu 6 bukan 1, walau yang buka cuma 1. itu kenapa ya mas?
    makasih sblmnya

  8. Agus Saputra
    10-07-2012, 11:25:37

    opy @ tutorial diatas adalah hits counter, jadi menghitung setiap kali terjadi proses.. diatas itukan ada skrip
    $isi=$c+1;

  9. opy
    11-07-2012, 10:08:00

    alhamdulillah mas sudah, bisa jumlah yang online di tampilan browser sdh normal, tapi ketika lihat di tabel, kolom online isinya 1341975860 padahal sy akses ke localhost cuma 1 PC.
    kira-kira kenapa ya mas?
    mohon bantuannya terima kasih

  10. gunver
    03-12-2012, 15:30:31

    blog walking

  11. Guntara
    03-12-2012, 15:31:21

    Like This Kaak,..
    hehe

  12. Cakka
    14-01-2013, 21:19:30

    Ternyata ada juga blog nya programmer Indonesia yang cukup lengkap :)

  13. Agus Saputra
    14-01-2013, 23:54:09

    Cakka @ :)

  14. Muhammad Yusup Hamdani
    30-01-2013, 09:09:59

    kurang lengkap tuh mas, di database dan filed nya, engga sesuai

  15. Agus Saputra
    31-01-2013, 00:33:34

    Muhammad Yusup Hamdani @ terima kasih untuk pemberitahuannya, sekarang sudah saya sesuaikan

  16. damar
    06-03-2013, 10:56:09

    klo user statistik menggunakan codeignter gimana yah ?

  17. Obat Herbal
    13-05-2013, 09:13:49

    Ini bisa dipasang di website?

  18. she_gogon
    24-06-2013, 15:16:45

    mohon bimbingan, apabila ip address (data user)yg berkunjung tdk tersimpan ke dbase knp yah?

  19. jamalcyber
    13-08-2013, 13:16:48

    mas saya mw tanya.kalau coding buat nampilin ip pengunjung yg menggunakan ip proxy gmn cranya.susah bgt soalnya dilacakny blz ke downloadcyber.byethost31.com y mas

  20. Raey
    30-08-2013, 21:45:06

    boleh di coba gan. tx

  21. NURROHMAN
    22-11-2013, 14:57:50

    terimakasih gan sudah berbagi, maw tanya jika kita ingin tahu page apa saja yang sudah dinbuka oleh ip unik bisa g?

  22. zeifhend
    11-02-2014, 10:52:25

    apa ini bisa di pasang di wordpress gratis kah? thx

  23. ht alinco dj a10
    18-07-2014, 02:48:12

    pusing bang liat script nya,hehhehe

  24. Agus Saputra
    20-07-2014, 19:29:14

    ht alinco @ ya maaf, saat ini memang sedang dilakukan development untuk versi 2.0. termasuk juga pemilihan formnya..

    Biar nggak pusing, copas aja kodenya, terus simpan dulu di file Notepad++ atau Text editor lainnya.. :)

  25. viktor
    23-07-2014, 15:26:46

    mas agus kok gak buat buku lagi tentang Codeigniter dan jQuery? oh ya mas project web blog di buku Trik Kolaborasi Codeigniter dan jQuery apa udah pake CI versi 2? kapan di update ke versi terbaru

  26. Agus Saputra
    03-08-2014, 15:50:51

    viktor @ untuk buku itu masih versi 1.7.2 / 3, karena pada saat itu versi itu merupakan yang terbaru..

  27. faisal
    11-08-2014, 07:10:15

    mas maaf saya mau tanya, kalo kita tekan f5 / refresh page itu pengunjungnya tetap 1??

  28. Feni Agustin
    12-08-2014, 20:44:56

    Faisal @ yah jelas mas.. itu kan berdasarkan IP.. jika mas refresh, berarti IP nya tetap sama bukan?.. jika di refresh dari komputer lain, ya baru akan bertambah..

  29. wildan gani
    15-10-2014, 04:41:08

    mau tanya punya saya ada.
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in ...

    pada baris baris ini yng dimaksud diatas .
    $pengunjungonline = mysql_num_rows(mysql_query("SELECT * FROM tstatistika WHERE online > '$bataswaktu'")); // hitung pengunjung online
    itu knp yah.??

  30. Agus Saputra
    15-10-2014, 20:05:00

    Wildan Gani @ itu ada kesalahan dalam query nya mas.. apakah sudah sesuai dengan field database tabel tersebut?

  31. wildan gani
    29-10-2014, 04:06:51

    udah gak eror lagi mas,
    tpi data nya gak tampil. padahal di database udah masuk.

  32. ferry
    29-10-2014, 06:07:29

    Makasih atas infonya
    (www.milanondalle.com)

  33. Agus Saputra
    30-10-2014, 21:33:56

    Wildan gani @ silahkan copas seluruh kodenya ke sini

  34. f
    22-01-2015, 12:35:11

    fff

  35. Reynaldi
    12-05-2015, 19:08:59

    Sangat berguna untuk ane, ditunggu kunjungannya <a href="http://reynaldi.my.id">www.reyna li.my.id</a>

  36. Kubah Masjid
    03-07-2015, 19:14:51

    makasih sob infonya...ane coba dulu di web ane!!!

  37. feridi
    02-08-2015, 08:10:38

    terimakasih gan artikelnya, sangat membantu

    kunjungi juga punya saya ni gan
    http://feridi.blog.upi.edu

  38. Rental Mobil Palembang
    11-09-2015, 09:42:12

    Nice info

  39. Exsan
    20-09-2015, 07:53:17

    gan mhn ijin tutorialnya gan, detailnya pasang gimana gan, thanks di tggu jwbanya.. slm knl

  40. iklan toko bagus
    09-10-2015, 15:56:06

    saya bearu mencoba semoga bisa gan thanks

  41. ds
    13-01-2016, 05:59:27

    sdsds

  42. Ghani
    24-02-2016, 04:41:38

    Selamat Siang.
    Saya mau tanya, apakah cara memangil IP di smartphone sama halnya dengan di PC?
    Sebab saya sudah online-kan codingan ini, saya buka di PC hasilnya bagus. Namun saat saya buka di smartphone awalnya sudah bagus, namun setelah saya refresh (reload) di smartphone tiba-tiba bertambah jumlah yang "visitor pengunjung". Hal yang saya tanyakan, apakah IP di smartphone memiliki lebih dari "satu" ?

    Terima Kasih

    Ghani

  43. Agus Saputra
    24-02-2016, 22:57:42

    Ghani @ sudah dibalas di email ya mas

  44. yoga
    21-03-2016, 02:44:40

    ada error sebagai berikut, saya jalankan lewat localhost, mohon petunjuk.

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\statistik\index.php on line 14

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\statistik\index.php on line 22

    Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\statistik\index.php on line 23

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\statistik\index.php on line 25

  45. Raka
    03-06-2016, 22:52:14

    Thanks Gan

  46. Cara setting router dlink dengan mudah
    06-07-2016, 15:18:55

    Terimakasih sangat bermanfaat sekali
    Jgn lupa kunjungi juga blog saya

  47. nina
    29-08-2016, 05:58:28

    terima kasih sekali sudah share kode program statistik diatas. Saya udah coba dan hasilnya untuk pengunjung online kenapa tetap menampilkan 1 user padahal dicoba online di 3 komputer berbeda.
    trus rumus $bataswaktu = time()-300; itu maksudnya apa ya?
    MOHON BANTUANNYA. terima kasih.

  48. nina
    29-08-2016, 06:06:31

    terima kasih sekali sudah share kode program statistik diatas. Saya udah coba dan hasilnya untuk pengunjung online kenapa tetap menampilkan 1 user padahal dicoba online di 3 komputer berbeda.
    trus rumus $bataswaktu = time()-300; itu maksudnya apa ya?
    MOHON BANTUANNYA. terima kasih.

  49. haibati kudrah
    06-04-2017, 01:02:50

    mantap, tp 1 ip 1 hari untuk 1 count kan?
    gmn klo kjadiannya pengunjung yg akses webnya di warnet?, ip sama dihari yg sama tapi sipengunjung yg berbeda, kan jd rugi di count nya.

  50. AGUS SAPUTRA
    06-04-2017, 21:14:20

    Haibati Kudrah @ sistem php ini hanya menghitung IP yang berbeda, itu tergantung dari IP yang digunakan dari networknya, static atau dynamic..

  51. Wapcuy
    06-01-2018, 09:23:44

    Izin praktek gan, kebetulan ini yg lg saya cari2

  52. AGUS SAPUTRA
    26-01-2018, 22:44:00

    wapcuy @ silahkan gan

  53. zaki
    06-02-2018, 11:09:06

    jumlah angka pengunjuk/statistikanya kalo ditempatkan di sisi admin bagaimana om carane?

  54. AGUS SAPUTRA
    08-02-2018, 22:50:31

    zaki @ tinggal copy aja kode buat nampilinnya di admin.. kalo kode untuk menangkap/menyimpan pengunjung sih tetap di halaman pengunjung.. di admin, tinggal tarik data saja

  55. Bukirom, ST
    10-02-2018, 14:00:07

    Pengganti mysql_result di MySQLi apa pak? Karena coding di atas sudah tidak disarankan pada PHP 5 ke atas.

  56. AGUS SAPUTRA
    11-02-2018, 12:05:23

    Bukitom, ST @ bisa menggunakan mysqli_fetch_array atau mysqli_num_rows ..

  57. Omah Pustaka
    26-05-2018, 10:12:00

    ijin praktek mas, :D masih bingung nyusun-nyusun logikanya. Mau dibuat rekap data pengunjung per jam/hari/bulan. Sama post yang sering dikunjungi. Kalo untuk realtime gini berat gak mas kalo dijalankan di server? bukan buat offline.
    Terimakasih

  58. AGUS SAPUTRA
    28-05-2018, 14:48:06

    Omah Pustaka @ masalah berat atau tidak tergantung dari trafik pengunjung dan juga dari sisi server juga, karena kode ini merekam/ menyimpan secara manual IP, dll di database, dan mungkin akan berat disisi loadingnya.. kalo servernya mumpuni dan kodenya minimize yang tidak apa-apa.. tapi kalo sudah memberatkan server, coba gunakan pihak-3 saja untuk hal ini

  59. http://teziger.blogspot.com
    05-07-2018, 11:32:56

    kalau set di pdo gimana gan?

  60. Muhamad Ardi Firdaus
    13-08-2019, 11:36:40

    ini error nya gitu bang , gimna yaa?
    sebelumnya makasih

    Fatal error: Uncaught Error: Call to undefined function mysql_query() in C:\xampp\htdocs\onesolution\utama.php:11 Stack trace: #0 {main} thrown in C:\xampp\htdocs\onesolution\utama.php on line 11

  61. AGUS SAPUTRA
    19-08-2019, 23:39:49

    Muhammad Ardi Firdaus @ Jika Anda menggunakan server xampp versi terbaru, maka mysql_query tidak lagi digunakan, sebagai gantinya bisa menggunakan mysqli_query

Tinggalkan Komentar


Lihat Semua

Buku Terbaruku

Panduan Praktis dan Jitu Menguasai PHP7 dan SQL Server 2017
Panduan Praktis dan Jitu Menguasai PHP7 dan SQL Server 2017

Like Our Page

Agus Saputra
CV. ASFA Solution

Terpopuler Saat Ini

  • Artikel Terpopuler
  • Buku Terpopuler
(73.720)

Mengubah +62 menjadi 0 dan 0 menjadi +62 - SMS

(60.114)

Membuat Laporan PDF PHP Berdasarkan Kondisi

(50.860)

Sebab Gammu Error 1053

(38.980)

Telah Terbit Buku Best Practice Membangun Aplikasi Pelayanan Publik dengan Framework Codeigniter 3

(37.573)

Import Excel to Database Menggunakan PHP dengan Filtering Data Besyarat

(35.792)

Membuat Menu Tree Sendiri

(34.383)

Membuat Statistika Pengunjung Secara Dinamis

(22.390)

Memanfaatkan SMS API secara Online dengan PHP

(20.751)

Upload Gambar Menggunakan Ajax (jQuery)

(18.888)

Step By Step Membangun Aplikasi SMS dengan PHP dan MySQL

(21.139)

Framework Codeigniter 3 Membangun Aplikasi Penggajian untuk Panduan Skripsi
by Yenda Purbadian

(19.218)

Membuat Aplikasi Absensi Dan Kuesioner Untuk Panduan Skripsi
by Agus Saputra

(18.466)

Proyek Membuat Aplikasi Forum Diskusi Dengan PHP Dan MySQL
by Agus Saputra

(18.034)

Aplikasi Penjualan Dan Pembelian Terintegrasi Dengan VB 6.0. Dan Data Report
by Agus Saputra, Sofyan Maulana, & Sutikno Sofjan

(16.667)

Trik Dahsyat Menjadi Web Master Dengan Framework CakePHP
by Agus Saputra

(16.166)

Aplikasi Pemesanan Tiket Online Berbasis Web Dan Android
by Akhmad Dharma Kasman

(15.626)

Membangun Aplikasi Toko Online Dengan PHP Dan SQL Server
by Agus Saputra

(14.607)

Mega Proyek 125 Juta Sistem Informasi Akademik Kampus
by Agus Saputra

(14.315)

Sistem Informasi Nilai Akademik Untuk Panduan Skripsi
by Agus Saputra

(14.295)

Teknik Cepat Membangun Aplikasi Web Dengan Framework CakePHP
by Agus Saputra

Newsletter

Masukkan email Anda untuk berlangganan informasi kami

Komentar Artikel Terakhir

  • AGUS SAPUTRA pada
    MySQL Deprecated? Bagaimana Jika Sudah Terlanjur Menggunakan?
    04 April 2020 23:36:33
  • Lpk Naura pada
    MySQL Deprecated? Bagaimana Jika Sudah Terlanjur Menggunakan?
    03 April 2020 01:43:24
  • Lpk Naura pada
    Mengirim Email Otomatis dengan Cron Jobs
    03 April 2020 01:41:33
  • Lpk Naura pada
    Mengirim Email Otomatis dengan Cron Jobs
    03 April 2020 01:40:29
  • Didik pada
    Update Source Code Final Project POS Web Base dengan Smarty PHP
    25 Februari 2020 05:46:58

Komentar Buku Terakhir

  • Hijau Generasi pada
    Mengenal Web Security - Kasus Eksploitasi Web dengan Ajax
    28 Maret 2020 21:59:10
  • y. ifliandry pada
    Mega Proyek 75 Juta Aplikasi Inventory Berbasis Web
    20 Maret 2020 03:08:36
  • Subarja Yasin pada
    Mega Proyek 125 Juta Sistem Informasi Akademik Kampus
    06 Februari 2020 09:43:44
  • Fedri pada
    Proyek Membuat Website Periklanan Dengan PHP
    05 Januari 2020 18:09:17
  • er pada
    Proyek Membuat Aplikasi Forum Diskusi Dengan PHP Dan MySQL
    09 Desember 2019 09:09:27
  • Home
  • Cara Pembelian
  • Kontak
© 2023. All Rights Reserved. CV. ASFA Solution, Software Development, IT and Publishing
×
Authorization
Login
Login menggunakan jejaring sosial
Anda juga masuk menggunakan akun facebook Anda.
  • Connect
×
JOIN AGUSSAPUTRA.COM
* All fields required