Cara Mendapatkan URL Halaman Saat Ini di PHP

Mengetahui URL halaman yang sedang dibuka berguna untuk banyak hal: membuat tombol berbagi ke media sosial, menandai menu yang aktif, atau menyimpan URL asal sebelum mengarahkan pengguna ke halaman login. Artikel ini membahas cara mengambil URL saat ini di PHP.

Menyusun URL dari $_SERVER

<?php
$protokol = isset($_SERVER['HTTPS']) ? "https" : "http";
$host = $_SERVER['HTTP_HOST'];
$uri  = $_SERVER['REQUEST_URI'];
$url  = $protokol . "://" . $host . $uri;
echo $url;
// contoh: https://sharecode.my.id/artikel?id=5
?>

Contoh Kasus: Tombol Bagikan ke WhatsApp

<?php
$url = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$bagikan = "https://wa.me/?text=" . urlencode($url);
echo "<a href='$bagikan'>Bagikan ke WhatsApp</a>";
?>

Contoh Kasus: Menandai Menu Aktif

<?php
$halaman = basename($_SERVER['PHP_SELF']); // misalnya "about.php"
$kelas = ($halaman === "about.php") ? "aktif" : "";
echo "<a class='$kelas' href='about.php'>Tentang</a>";
?>
VariabelIsi
$_SERVER[‘HTTP_HOST’]sharecode.my.id
$_SERVER[‘REQUEST_URI’]/artikel?id=5
$_SERVER[‘PHP_SELF’]/artikel.php
$_SERVER[‘QUERY_STRING’]id=5

Kesalahan Umum & Keamanan

  • HTTP_HOST berasal dari permintaan pengguna dan bisa dimanipulasi. Jangan gunakan langsung untuk membuat tautan sensitif tanpa validasi.
  • Selalu urlencode() saat menyisipkan URL ke dalam parameter tautan lain.

Kesimpulan

Susun URL saat ini dari kombinasi HTTPS, HTTP_HOST, dan REQUEST_URI. Gunakan untuk fitur berbagi atau menu aktif, tetapi selalu waspadai bahwa HTTP_HOST dapat dipalsukan sehingga perlu divalidasi pada konteks yang sensitif.

Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *