Counter Visitor (IP) PHP

Counter Visitor (IP) PHP

Setelah pada artikel yang sebelumnya, bagaimana caranya kita membuat sebuah counter visitor dengan menggunakan PHP, untuk kali ini kita akan membuat counter visitor berdasarkan IP pengunjung, karena fungsi counter yang sebelumnya dibuat, tidak berdasarkan ip artinya halaman web ketika di refresh akan selalu masuk hitungan visitor.

Buat database dan struktur tabelnya, seperti berikut:

counter-ip.jpg

counter ip

file koneksi.php

<?php
	$localhost = "localhost";
	$server = "root";
	$pass = "";
	$db = "db_counter";

	$konek = mysqli_connect($localhost,$server,$pass,$db) or die (mysqli_error($konek));	
?>

kemudian lanjutkan dengan membuat file index.php

<!DOCTYPE html>
<html>
<head>
	<title>Counter Visitor (IP) | Kursus Web YELLOWWEB.ID</title>
</head>
<body>
	<?php
		include "koneksi.php";

		// mengetahui IP ADDRESS
		$ip_pengunjung = $_SERVER['REMOTE_ADDR'];

		$sql = "SELECT * FROM tbl_pengunjung WHERE ip_visitor='$ip_pengunjung'";
		$query = mysqli_query($konek,$sql) or die (mysqli_error($konek));

		$data = mysqli_fetch_array($query);

		// cek jika ada ip baru
		if($data == 0){
			$sql = "INSERT INTO tbl_pengunjung(ip_visitor) VALUES('$ip_pengunjung')";
			$query = mysqli_query($konek,$sql) or die (mysqli_error($konek));
		}
	?>

	<table border="1">
		<thead>
			<tr>
				<th>No</th>
				<th>ID</th>
				<th>IP Pengunjung</th>
			</tr>
		</thead>
		<tbody>

		<?php 
			// cetak 
			$sql = "SELECT * FROM tbl_pengunjung";
			$query = mysqli_query($konek,$sql) or die (mysqli_error($konek));

			$no = 1;

			while($data = mysqli_fetch_array($query)){?>
				<tr>
					<td><?php echo $no;?></td>
					<td><?php echo $data['id_visitor'];?></td>
					<td><?php echo $data['ip_visitor'];?></td>
				</tr>

				<?php $no++; ?>

			<?php }


		?>
			
		</tbody>
	</table>

	

</body>
</html>

Dengan membuat skrip ini kita dapat mengetahui jumlah pengunjung berdasarkan IP tentunya. Semoga tutorial ini dapat melengkapi tutorial yang sebelumnya pernah kita coba.

Klik untuk DEMO.

Comments are closed.