Pages

Kamis, 16 Juni 2011

Penggunaan POST dan GET dalam PHP

Posted by anes 7:13 AM, under | No comments


Dalam mengembangkan sebuah aplikasi web, seorang developer dihadapkan kepada beberapa opsi dalam melakukan update, insert, dan delete record database. Dan itu semua diawali pada penggunaan form dengan berbagai action dan method. Begitupun halnya pada implementasi ketika user memasukkan data ke dalam form inputan. Yang kemudian dilanjutkan kepada proses pengolahan dimana setelahnya hasil dari olahan tersebut dimasukkan kedalam database. Nah disinilah pemilihan fungsi method dibutuhkan. Method ini terbagi menjadi 2, yakni POST dan GET, masing masing memiliki perbedaan yang tipis.  Sederhananya method ini bekerja ketika si user menekan tombol submit dengan action yang telah disetting sebelumnya.  Dalam implementasi contoh kasusnya seperti ini, buat satu file html bernama index.html :
<html>
<head><title>Isi Buku tamu</title></head>
<body>
<form action=get.php method=get>
<table border=0>
<tr><td>Nama : </td><td><input type=text></td></tr>
<tr><td>Email :</td><td><input type=text></td></tr>
<tr><td>Homepage : </td><td><input></td></tr>
<tr><td>Isi :</td><td><textarea name=isi cols=25 rows=6></textarea></td></tr>
<tr><td></td><td><input type=submit value=Kirim></td></tr>
</table>
</form>
</body>
</html>
Dan get.php :
<?php
echo $_GET['nama'].”<br>”.$_GET['email'].”<br>”.$_GET['isi']
?>
Perhatikan url pada browser internet anda, terlihat url yang super panjang, ini terjadi akibat dari variable yang dihasilkan oleh form inputan kembali ditampilkan beserta isinya. Hal ini jelas memiliki dampak kelemahan karena umumnya browser hanya dapat memperlihatkan dan mengambil nilai sebanyak 256 karakter dari address bar. Dan tentunya hal ini akan berpengaruh kepada data yang akan diolah dan di simpan kedalam database nantinya.
Ditampilkannya hasil dari form inputan berguna sekali jika diimplementasikan pada pembuatan fasilitas searching. Namun hal ini menjadi kendala jika method get ini digunakan dalam menginput data dengan text yang panjang. Dari sinilah permasalahan seperti ini ditangani oleh method post. Tapi sebelumnya, buat sebuah file bernama index2.html :
<html>
<head><title>Isi Buku tamu</title></head>
<body>
<form action=post.php method=post>
<table border=0>
<tr><td>Nama : </td><td><input type=text></td></tr>
<tr><td>Email :</td><td><input type=text></td></tr>
<tr><td>Homepage : </td><td><input></td></tr>
<tr><td>Isi :</td><td><textarea name=isi cols=25 rows=6></textarea></td></tr>
<tr><td></td><td><input type=submit value=Kirim></td></tr>
</table>
</form>
</body>
</html>
Dan satu lagi halaman post.php berisi :
<?php
echo $_POST['nama'].”<br>”.$_POST['email'].”<br>”.$_POST['homepage'].”<br>”.$_POST['isi'];
?>
Jika user memasukkan data melalui form input yang ada di index2.html, maka hasil yang dikirimkan dengan method post tidak akan ditampilkan di address bar, namun tetap tersimpan dalam memory, untuk mengambilnya cukup dengan menggunakan variable $_POST[‘variable’], hal ini tentunya dapat mencegah url yang terlihatberantakan, dan penuh dengan noda-noda. sepertinya cukup jelas.
SUMBER : ilmuwebsite