Buat Visitor Dinamis dengan Codeigniter

Kali ini saya akan share bagaimana membuat visitor dinamis dengan Codeigniter, yang perlu disiapkan pertama yaitu buat sebuah tabel di database seperti ini :

nama tabel visitor :

lalu sisipkan script ini di controller yang diakses oleh publik, kebetulan controller publik saya namanya home.php

$ip    = $this->input->ip_address(); // Mendapatkan IP user
$date  = date("Y-m-d"); // Mendapatkan tanggal sekarang
$waktu = time(); //
$timeinsert = date("Y-m-d H:i:s");
 
// Cek berdasarkan IP, apakah user sudah pernah mengakses hari ini
$s = $this->db->query("SELECT * FROM visitor WHERE ip='".$ip."' AND date='".$date."'")->num_rows();
$ss = isset($s)?($s):0;
 

// Kalau belum ada, simpan data user tersebut ke database
if($ss == 0){
$this->db->query("INSERT INTO visitor(ip, date, hits, online, time) VALUES('".$ip."','".$date."','1','".$waktu."','".$timeinsert."')");
}

// Jika sudah ada, update
else{
$this->db->query("UPDATE visitor SET hits=hits+1, online='".$waktu."' WHERE ip='".$ip."' AND date='".$date."'");
}

 
$pengunjunghariini  = $this->db->query("SELECT * FROM visitor WHERE date='".$date."' GROUP BY ip")->num_rows(); // Hitung jumlah pengunjung

$dbpengunjung = $this->db->query("SELECT COUNT(hits) as hits FROM visitor")->row(); 

$totalpengunjung = isset($dbpengunjung->hits)?($dbpengunjung->hits):0; // hitung total pengunjung

$bataswaktu = time() - 300;

$pengunjungonline  = $this->db->query("SELECT * FROM visitor WHERE online > '".$bataswaktu."'")->num_rows(); // hitung pengunjung online
 

$data['pengunjunghariini']=$pengunjunghariini;
$data['totalpengunjung']=$totalpengunjung;
$data['pengunjungonline']=$pengunjungonline;

setelah itu tinggal tampilkan di view web nya dengan script seperti ini :

<h3>Statistik Pengunjung</h3>

<table id="foot-table-list">
<tr> 

   <td>Pengunjung Hari ini</td>

   <td>&nbsp;&nbsp;:&nbsp;&nbsp;</td>

   <td><?php echo $pengunjunghariini ?> orang</td>

</tr>

<tr>

   <td>Total Pengunjung</td> 

   <td>&nbsp;&nbsp;:&nbsp;&nbsp;</td>

   <td><?php echo $totalpengunjung ?> orang</td>

</tr>

<tr>

   <td>Pengunjung Online</td>

   <td>&nbsp;&nbsp;:&nbsp;&nbsp;</td>

   <td><?php echo $pengunjungonline ?> orang</td>

</tr>

</table>

Berikut adalah hasil akhirnya :

Finish, selamat mencoba, semoga bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *