Halo teman-teman pada kesempatan kali ini saya akan menjelaskan melanjutkan pembahasan tentang Metode Pengiriman Form GET dan POST dalam PHP. Pembahasan tentang method=post sudah dibahas di Part-1, jadi saya akan menjelaskan mengenai method=get.

Untuk penggunaan method=get, maka kita memiliki file proses.php untuk memproses hasil form. Fleksibilitas yang diberikan oleh variabel $_GET membuat kita bisa menampilkan data dalam proses.php tanpa menggunakan form sama sekali.

Jika isi dari file proses.php adalah:

Sebagai contoh saya akan membuat proses.php lalu sekarang copy paste URL berikut ini kedalam address bar web browser

http://localhost/belajar_form/proses.php?nama=marcel&kursus=web%master

Dan hasil tampilan halaman proses.php akan menampilkan nama marcel dan kursus web master. Hasil ini didapat hanya dengan menginput nama tersebut dengan URL (tanpa form).

Dari contoh ini kita bisa melihat bahwa PHP mendeteksi nilai dari method=get, hanya berdasarkan URL yang diberikan. Cara ‘mengakali’ variabel $_GET tanpa form ini sering digunakan sebagai sarana untuk mengirim sebuah nilai dari satu halaman PHP ke halaman lainnya (sering digunakan untuk menampilkan pesan error kepada user).

Karena sifat method=get yang harus menggunakan URL untuk mengirim data form, PHP membatasi hanya bisa memproses 1024 karakter saja. Sehingga jika anda memiliki form yang isinya kemungkinan akan melebihi 1024 karakter, sebaiknya menggunakan method=post.

Perbedaan Method POST dan Method GET

  • Dari History pada browser,  Parameter tidak tersimpan pada browser jika kita menggunakan Method POST, sedangkan jika menggunakan Method GET. Parameter akan tersimpan dibrowser dan bisa diakses ulang karena nilai menjadi kesatuan URL
  • Menggunakan Method POST pun parameternya tidak bisa dibookmark, sedangkan Method GET bisa dibookmark.
  • Untuk Method POST Encoding type atau enctype attribute, Mendukung pengiriman data binner dengan teknik multipart/form-data atau application/x-www-form-urlencoded. Sedangkan Method GET hanya mendukung application/x-www-form-urlencoded
  • Untuk melakukan kecurangan data pun lebih sulit jika menggunakan Method POST, dan jika menggunakan Method GET akan mudah sekali untuk melakukan kecurangan karna lebih terbuka dan terlihat pada link browser
  • Dari segi keamanan pun sama, lebih baik menggunakan Method POST karna data langsung dikirim ke server, sedangkan menggunakan Method GET dengan jelas akan terlihat dan bisa ketahui data apa saja yang dikirim, dan bisa dilihat dari link pada browser tersebut
  • Besar data yang dikirim apabila menggunakan Method POST kira-kira sebesar 8 Mb, sedangkan Method GET hanya 7606 karakter.

Semoga bermanfaat.