SamtigisID - Rekomendasi Hargak Termurah

Rak buku di Aceh (1714 produk)

Cincin Blue Saphire Memo Ori Ring Perak 925
Cincin Blue Saphire Memo Ori Ring Perak 925 Aceh
Rp 273.165
Cincin Blue Saphire Memo Ori Ring Perak 925...
Beli Sekarang
Size 35-43 Dulux 688 Sendal Baim Putih / Sandal Perawat / Sandal Dokter / Sandal Laboratorium / Sandal Praktek
Size 35-43 Dulux 688 Sendal Baim Putih / Sandal Perawat / Sandal Dokter / Sandal Laboratorium / Sandal Praktek Aceh
Rp 32.400
Size 35-43 Dulux 688 Sendal Baim Putih / Sandal Perawat / Sandal Dokter / Sandal Laboratorium / Sandal Praktek...
Beli Sekarang
Lrs_Store Id || Sandal Wanita Aleyna Putih Abstrak Putih Flat || Sandal Flat Wanita Kanvas Mewah
Lrs_Store Id || Sandal Wanita Aleyna Putih Abstrak Putih Flat || Sandal Flat Wanita Kanvas Mewah Aceh
Rp 56.999
Lrs_Store Id || Sandal Wanita Aleyna Putih Abstrak Putih Flat || Sandal Flat Wanita Kanvas Mewah...
Beli Sekarang
Rak Troli Plastik 3/4 Susun Beroda Serbaguna
Rak Troli Plastik 3/4 Susun Beroda Serbaguna Aceh
Rp 28.000
Rak Troli Plastik 3/4 Susun Beroda Serbaguna...
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(); } ?>