SamtigisID - Rekomendasi Hargak Termurah

dewasa clock di Sulawesi Tengah (387 produk)

Sandal Wanita Dewasa Zakia Premium 2025 Elegan
Sandal Wanita Dewasa Zakia Premium 2025 Elegan
Rp 105.899
Sandal Wanita Dewasa Zakia Premium 2025 Elegan...
Beli Sekarang
PROMO Sandal Wanita Dewasa Korean Style 2025
PROMO Sandal Wanita Dewasa Korean Style 2025
Rp 92.850
PROMO Sandal Wanita Dewasa Korean Style 2025...
Beli Sekarang
// traffic_logger.php - Mencatat Traffic Search Query // Dipanggil (include) di single.php dan search.php require_once "config.php"; // 1. DETEKSI QUERY/KEYWORD $log_query = ''; // a. Dari parameter URL ?q= if (isset($_GET['q']) && !empty($_GET['q'])) { $log_query = trim($_GET['q']); } // b. Dari variabel global $keyword (jika di search.php) elseif (isset($keyword) && !empty($keyword)) { $log_query = $keyword; } // c. Dari URL Path (misal /s/sepatu-baru) else { $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); if (preg_match('#/s/([^/]+)#', $path, $matches)) { $log_query = urldecode(str_replace('-', ' ', $matches[1])); } } $ref = $_SERVER['HTTP_REFERER'] ?? ''; // 3. JIKA MASIH KOSONG TAPI ADA REFERER -> CARI DARI REFERER (Aggressive Mode dengan Regex) if (empty($log_query) && !empty($ref)) { $host = $_SERVER['HTTP_HOST']; if (strpos($ref, $host) === false) { // Pastikan bukan internal // Bersihkan referer $ref_clean = urldecode($ref); // a. Yandex (param 'text') if (strpos($ref, 'yandex') !== false && preg_match('/[?&]text=([^&]+)/i', $ref_clean, $m)) { $log_query = $m[1]; } // b. Bing (param 'q' atau 'Q') elseif (strpos($ref, 'bing') !== false && preg_match('/[?&]q=([^&]+)/i', $ref_clean, $m)) { $log_query = $m[1]; } // c. Yahoo (param 'p') elseif (strpos($ref, 'yahoo') !== false && preg_match('/[?&]p=([^&]+)/i', $ref_clean, $m)) { $log_query = $m[1]; } // d. Baidu (param 'wd') elseif (strpos($ref, 'baidu') !== false && preg_match('/[?&]wd=([^&]+)/i', $ref_clean, $m)) { $log_query = $m[1]; } // e. DuckDuckGo (param 'q') elseif (strpos($ref, 'duckduckgo') !== false && preg_match('/[?&]q=([^&]+)/i', $ref_clean, $m)) { $log_query = $m[1]; } } } // 4. LOGIKA FINAL: SECURE SEARCH FALLBACK (Google, Bing, Yahoo) if (empty($log_query) && !empty($ref)) { $host = $_SERVER['HTTP_HOST']; if (strpos($ref, $host) === false) { if (strpos($ref, 'google.') !== false) { $log_query = "Google Search (Secure)"; } elseif (strpos($ref, 'bing.') !== false) { $log_query = "Bing Search (Secure)"; } elseif (strpos($ref, 'yahoo.') !== false) { $log_query = "Yahoo Search (Secure)"; } elseif (strpos($ref, 'facebook.') !== false || strpos($ref, 'fb.com') !== false) { $log_query = "Facebook"; } elseif (strpos($ref, 'instagram.') !== false) { $log_query = "Instagram"; } else { $log_query = "Ref: " . parse_url($ref, PHP_URL_HOST); } } } // 5. VALIDASI & EKSEKUSI if (!empty($log_query)) { $date = date("Y-m-d"); // Slug bersih $uri_parts = explode('?', $_SERVER['REQUEST_URI'], 2); $slug = $uri_parts[0]; // Cek apakah data sudah ada $stmt = $conn->prepare("SELECT id, jumlah FROM trafikdata WHERE query = ? AND slug = ? AND date = ? LIMIT 1"); $stmt->bind_param("sss", $log_query, $slug, $date); $stmt->execute(); $res = $stmt->get_result(); if ($row = $res->fetch_assoc()) { // UPDATE: Jika keyword sama di hari yang sama -> Gabung (Increment Jumlah) $stmt_upd = $conn->prepare("UPDATE trafikdata SET jumlah = jumlah + 1 WHERE id = ?"); $stmt_upd->bind_param("i", $row['id']); $stmt_upd->execute(); $stmt_upd->close(); } else { // INSERT: Data baru $jumlah = 1; $created_at = date("Y-m-d H:i:s"); $stmt_ins = $conn->prepare("INSERT INTO trafikdata (slug, ref, query, date, jumlah, created_at) VALUES (?, ?, ?, ?, ?, ?)"); $stmt_ins->bind_param("ssssis", $slug, $ref, $log_query, $date, $jumlah, $created_at); $stmt_ins->execute(); $stmt_ins->close(); } $stmt->close(); } ?>