Cara Mengelola Query String: PHP ke JavaScript dan Sebaliknya

Mengambil Query String dengan PHP

Dalam PHP, query string yang dikirim melalui URL (contoh: domain.com/page.php?id=123&user=budi) secara otomatis diproses oleh server dan disimpan dalam superglobal array $_GET. Anda tidak perlu melakukan parsing manual.

// Contoh URL: domain.com/index.php?id=10&category=news
$id = $_GET['id'] ?? null;
$category = $_GET['category'] ?? 'default';

echo "ID: " . htmlspecialchars($id);
echo "Kategori: " . htmlspecialchars($category);

Mengambil Query String dengan JavaScript

Di sisi klien (browser), Anda dapat menggunakan objek URLSearchParams untuk memparsing query string dari window.location.search. Ini adalah standar modern yang didukung semua browser utama.

// Contoh URL: domain.com/index.php?id=10&category=news
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);

const id = urlParams.get('id');
const category = urlParams.get('category');

console.log(id); // Output: 10
console.log(category); // Output: news

Perbandingan Metode Pengolahan Data

FiturPHP ($_GET)JavaScript (URLSearchParams)
Lokasi EksekusiServer-sideClient-side
KeamananTinggi (bisa divalidasi di server)Rendah (bisa dimanipulasi user)
KemudahanSangat Mudah (otomatis)Sangat Mudah (API bawaan)
KebutuhanData sensitif/databaseInteraksi UI/DOM

Tips Implementasi

  • Sanitasi Data: Selalu gunakan htmlspecialchars() di PHP untuk mencegah XSS jika data akan ditampilkan kembali ke HTML.
  • Validasi: Jangan pernah mempercayai data dari query string. Selalu validasi tipe data (misal: pastikan ID adalah integer) sebelum digunakan dalam query database.
  • Encoding: Gunakan encodeURIComponent() di JavaScript saat membuat URL dinamis untuk memastikan karakter khusus tidak merusak struktur URL.