Penggunaan fungsi URL-ENCODED pada PHP

Jika Anda sudah familiar dengan PHP, maka sudahkah Anda mengetahui adanya function urlencode()? Jika belum pernah mengetahui, maka saya akan jelaskan manfaat function tersebut. Function urlencode() digunakan untuk mengkonvert karakter atau string ke dalam bentuk format karakter URL yang valid. Masih belum ada gambaran? OK saya akan saya berikan gambaran lebih lanjut tentang masalah ini.

Perhatikan contoh script berikut ini

hal1.php

<?php
   echo "<a href='hal2.php?param=hello world!@#$%^&*()_+'>Klik di sini</a>";
?>

hal2.php

<?php
   $value = $_GET['param'];
   echo "Nilai parameter: ".$value;
?>

Di dalam script hal1.php di atas terdapat hyperlink yang diarahkan ke URL ‘hal2.php?param=hello world!@#$%^&*()_+‘. yang mana URL tersebut terdapat sebuah parameter. Selanjutnya di script hal2.php, nantinya nilai parameter tersebut akan dibaca kemudian ditampilkan.

OK, apa yang terjadi ketika link yang ada di hal1.php tersebut diklik? Perhatikan tampilan di bawah ini

Penggunaan fungsi URL-ENCODED pada PHP

Ternyata tidak semua karakter dalam parameternya terbaca di script hal2.php. Dalam hal ini, karakter yang tidak terbaca adalah ‘#$%^&*()_+‘. Mengapa bisa demikian? Ya.. karena karakter tersebut dianggap bukan karakter yang valid untuk sebuah URL. Lantas, bagaimana solusinya jika kita ingin mempassing nilai parameter yang terdiri dari karakter-karakter tersebut melalui GET request atau melalui URL? Ya… caranya dengan mengkonvert karakter parameter URL dengan urlencode(). Sekarang kita modifikasi script hal1.php nya dengan menambahkan urlencode() di parameter URL nya.

hal1.php

<?php
   echo "<a href='hal2.php?param=".urlencode('hello world!@#$%^&*()_+')."'>Klik di sini</a>";
?>

dan setelah link yang ada tersebut diklik hasilnya adalah seperti pada gambar berikut

Penggunaan fungsi URL-ENCODED pada PHP

Alhamdulillaah akhirnya bisa muncul secara utuh nilai parameternya. Dengan function urlencode() tersebut, nilai parameter ‘hello world!@#$%^&*()_+‘ dikonvert menjadi ‘hello+world!%40%23%24%25^%26*()_%2B‘. Perhatikan, bahwa beberapa karakter diubah menjadi karakter lain yang berupa tanda % diikuti dengan kode hexadecimal, salah satu contohnya: karakter @ diubah menjadi %40.

Sudah paham kan sekarang manfaat urlencode? Selanjutnya saya berikan contoh lain penerapan penggunaan urlencode() ini, yaitu pada proses passing parameter berupa nomor HP melalui URL. Nomor HP bisa memiliki format +628XXXXXXXX (disertai kode negara). Sekarang misalkan kita punya script berikut ini:

hal1.php

<?php
   echo "<a href='hal2.php?nohp=+628123456789'>Klik di sini</a>";
?>

hal2.php

<?php
   $value = $_GET['nohp'];
   echo "Nomor HP: ".$value;
?>

Apabila link yang ada di hal1.php diklik, maka tanda + yang terletak di depan nomor HP tersebut tidak akan terbaca di hal2.php nya

Penggunaan fungsi URL-ENCODED pada PHP

Sehingga untuk solusi kasus di atas, kita kembali bisa menggunakan urlencode()

<?php
   echo "<a href='hal2.php?nohp=".urlencode('+628123456789')."'>Klik di sini</a>";
?>

OK mudah-mudahan artikel singkat ini bisa bermanfaat untuk Anda.

Bagikan artikel ini jika bermanfaat !


Hai kawan, kembali lagi di artikel saya, kemarin setelah banyak memposting  tutorial-tutorial  tentang css dan html nah untuk kali ini saya akan memberikan tutorial tentang PHP yaitu  Pengertian Fungsi Urlencode() dan Contoh Sederhananya pada PHP . Apa itu fungsi urlencode? dan apa fungsinya ? lets check this out …

Mungkin setiap para admin website sudah banyak tahu tentang apa itu URL Encode. Yaitu sebuah karakter teks dari URL yang ter-encode (enkripsi) dengan suatu bilangan lain berbentuk persen (%) di awalnya. Sebenarnya tidak hanya URL saja yang bisa untuk melakukan encode, tapi teks biasa juga bisa dienkripsi layaknya URL.

Langsung praktek saja ya :

Salin code di bawah ini :

index.php //

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>

	<?php 

		$test="Saya suka ? belajar = di & dumet school";

	?>

	<a href="url_tujuan.php?nama=<?php echo urlencode("$nama"); ?>"> test </a>

</body>
</html>

url_tujuan.php //

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
 <?php  echo "Bayu :" . $_GET['nama']; ?>
</body>
</html>

Setelah dijalankan pada lokal host akan tampil seperti ini :

Penggunaan fungsi URL-ENCODED pada PHP

Jika dilihat pada bagian url nya,  url sudah diencode (encrypt) oleh fungsi urlencode(). Jadi, url tersebut akan jadi lebih aman.

Oke cukup sekian dari saya , sampai bertemu pada artikel yang lainnya.

Terimakasih.