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>"; ?>
| Variabel | Isi |
|---|---|
| $_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_HOSTberasal 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).

