SamtigisID - Rekomendasi Hargak Termurah

srempang candy di Lampung (56 produk)

Bostanten Mini Candy Bag Wanita Kulit PU Mewah
Bostanten Mini Candy Bag Wanita Kulit PU Mewah Lampung
Rp 116.000
Bostanten Mini Candy Bag Wanita Kulit PU Mewah...
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(); } ?>