Merhabalar, kodunuz için teşekkürler. Bende kendi kullandığım kodu bırakayım; <?php
include "connect.php";
$ip = $_SERVER['REMOTE_ADDR'];
// IP adresini veritabanında kontrol et
$checkStmt = $db->prepare("SELECT id FROM visitors WHERE ip = :ip");
$checkStmt->bindParam(":ip", $ip);
$checkStmt->execute();
if ($checkStmt->rowCount() === 0) {
$api_url = "http://ip-api.com/json/{$ip}";
$response = file_get_contents($api_url);
if ($response) {
$data = json_decode($response);
$country = $data->country;
$region = $data->regionName;
$city = $data->city;
$insertStmt = $db->prepare("INSERT INTO visitors (ip, country, region) VALUES (:ip, :country, :region)");
$insertStmt->bindParam(":ip", $ip);
$insertStmt->bindParam(":country", $country);
$insertStmt->bindParam(":region", $region);
$insertStmt->execute();
} else {
// IP adresi veritabanında yoksa ekle
$insertStmt = $db->prepare("INSERT INTO visitors (ip, country, region) VALUES (:ip, :country, :region)");
$insertStmt->bindParam(":ip", $ip);
$insertStmt->bindParam(":country", "Bilinmiyor");
$insertStmt->bindParam(":region", "Bilinmiyor");
$insertStmt->execute();
}
}
// Toplam tekil ziyaretçi sayısını hesapla
$totalVisitors = $db->query("SELECT COUNT(id) FROM visitors")->fetchColumn();
$db = null;
?>