Fungsi Urlencode() di PHP
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 :
hal1.php
- <?php
- echo "<a href='hal2.php?param=".urlencode('hello world!@#$%^&*()_+')."'>Klik di sini</a>";
- ?>
Alhamdulillaah akhirnya bisa muncul secara utuh nilai parameternya. Dengan functionurlencode() 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>";
- ?>
- <?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
- <?php
- echo "<a href='hal2.php?nohp=".urlencode('+628123456789')."'>Klik di sini</a>";
- ?>
Tidak ada komentar