About Me

Hai, saya Rosihan Ari Yuana. Saya sehari-hari adalah mengajar di Universitas Sebelas Maret.

Bidang riset saya tentang adaptive learning, computer aided learning, dan datascience

Selain itu, saya juga seorang penulis buku dan blogger.

More about me...

  • Home
  • /
  • PHP
  • /
  • Manfaat Function urlencode() di PHP
PHP

Manfaat Function urlencode() di 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

URL encode

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

URL Encode

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

URL encode

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.

 


Saya seorang dosen dan peneliti di Universitas Sebelas Maret. Bidang penelitian saya tentang: adaptive learning, datascience, dan computer aided learning. Selain itu saya juga seorang blogger, serta penulis buku tentang pemrograman, dan matematika.

Leave a Reply