Free Ebook Tutorial from Rosihan Ari's Blog

Ebook Javascript | Ebook PHP | Ebook AJAX | Ebook CSS | Ebook FPDF | Ebook Wordpress | Ebook Java SE




Manfaat Function urlencode() di PHP


December 20th, 2013 | by rosihanari |


Jual kaos

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.


Kata kunci: tutorial php - url encode - web programming tutorial -


 

Komentar Anda ...