Perbedaan form method POST dan GET

Perbedaan POST dan GETBagi anda yang sudah terbiasa membuat form dalam HTML pasti sudah sering melihat kode yang tersusun dalam sebuah form, termasuk atribut form yang digunakan. Salah satu atribut yang digunakan dalam form adalah method. Atribut method bisa diberi nilai dengan POST atau GET. Apa perbedaan keduanya dan apa kekurangan serta kelebihanya??

Secara mendasar fungsi POST digunakan untuk mengirimkan data ke server, sedangkan GET digunakan untuk mengambil data dari server.

Secara teknis GET diproses lebih sederhana karena permintaan dikirimkan melalui alamat halaman (URL) dengan sistem penulisan secara berpasangan yaitu nama varibel dan nilainya, dan pemisahan variabel menggunakan karakter dan &. Contoh :

http://www.zainalhakim.web.id/index.php?nama=zainal&alamat=jalan&telp=8388383

Dengan menggunakan metode GET, HTTP Client bisa mengambil informasi dari server dengan mengirimkan data melalui URI walaupun bisa juga dengan form yang menggunakan metode GET.

Sedangkan pengiriman data dengan POST lebih tertutup dan jauh lebih aman karena data yang dikirimkan tidak terlihat. Metode POST digunakan untuk mengirimkan data dari HTTP Client untuk diproses di HTTP Server, kemudian HTTP server memberikan hasil dari proses tersebut ke HTTP Client. Data yang dikirimkan dengan metode POST disertakan pada baris permintaan (body of request) bukan pada URI. Dan hasil dari permintaan dengan metode POST ini tidak bersifat cacheable.

Berikut perbedaan lengkap dari method POST dan GET

PERBEDAAN POST GET
History Parameter/nilai tidak tersimpan di browser Parameter/nilai tersimpan dibrowser dan bisa diakses ulang karena nilai menjadi kesatuan URL
Bookmark Parameter/nilai tidak dapat dibookmark Parameter bisa dibookmark
Tombol Kembali/Kirim Ulang Biasanya browser memberitahukan/menanyakan apakah data akan dikirim ulang Dengan methot get, halaman sebelumnya langsung ditampillkan tanpa mengeksekusi kembali karena tersimpan dalam cache browser
Encoding type (enctype attribute) Mendukung pengiriman data binner dengan teknik multipart/form-data atau application/x-www-form-urlencoded hanya mendukung application/x-www-form-urlencoded
Parameters Dapat mengirimkan parameter url sekaligus mengirimkan data tersembunyi ke server Hanya bisa mengirimkan parameter melalui URL
Kecurangan data Lebih sulit karena tertutup Lebih terbuka karena data terlihat
Keamanan Dengan method POST lebih aman karena data langsung dikirim ke server Dengan jelas bisa ketahui data apa saja yang dikirim
Penggunaan POST digunakan untuk mengirim data yang lebih rahasia seperti password Digunakan lebih untuk keperluan mengambil data
Besar data yang dikirim Standard 8 Mb, tergantung konfigurasi server 7607 karakter

Contoh penggunaan form dengan method post

<form id="FCONTOH" name="CONTOH" method="post" action="simpan.php">
  <p> Nama : <br />
    <input name="nama" type="text" id="nama" size="20" />
  </p>
  <p>Alamat : <br />
    <textarea name="alamat" cols="30" rows="3" id="alamat"></textarea>
  </p>
  <p>
    <input type="submit" name="button" id="button" value="Kirim" />
  </p>
</form>

Untuk model form method post, pada bagian tag form atribut method diberi nilai post sehingga semua nilai dikirimkan tersembunyi menuju nilai yang di set pada action yaitu file simpan.php.

Sedangkan file simpan.php sendiri harus mengambil nilai dari form yang dibuat dengan cara :

<?php
  echo $_POST['nama'];
  echo $_POST['alamat'];
?>

Contoh penggunaan form dengan method get

<form id="FCONTOH" name="CONTOH" method="get" action="simpan.php">
  <p> Nama : <br />
    <input name="nama" type="text" id="nama" size="20" />
  </p>
  <p>Alamat : <br />
    <textarea name="alamat" cols="30" rows="3" id="alamat"></textarea>
  </p>
  <p>
    <input type="submit" name="button" id="button" value="Kirim" />
  </p>
</form>

Sedikit berbeda dengan method post, form akan mengirim nilai isian dengan cara terbuka dalam url yang ditempelkan pada file simpan.php, sehingga tujuan form yang semula hanya simpan.php berubah menjadi :

simpan.php?nama=zainal&alamat=Banjarmasin&button=Kirim

dimana simpan.php adalah nama tujuan, dan setelah tanda ? disertakan nilai yang dikirimkan seperti nama=zainal alamat=banjarmasin dst.

File simpan bisa mengenali nilai yang dikirim oleh form dengan cara :

<?php
  echo $_GET['nama'];
  echo $_GET['alamat'];
?>

Selain dengan menggunakan form dengan atribut get, kita juga bisa mengirimkan nilai seperti diatas menggunakan metode parameter hyperlink yang dibuat seperti :

<a href="simpan.php?nama=zainal&alamat=Banjarmasin">Kirim</a>

Sehingga pada saat menu kirim di klik maka halaman akan menuju simpan.php dan mengirimkan nilai nama=zainal alamat=banjarmasin.

Metode hyperlink ini sering digunakan pada contoh kasus edit data mupun delete data yang membawa nilai kunci ke file yang akan memperoses data selanjutnya.

Metode yang mana yang harus dipilih dari POST dan GET?? Keduanya mempunyai kelebihan serta kekurangan, tinggal kita memilahnya. Untuk keperluan yang sifatnya rahasia, memerlukan tingkat keamanan lebih sebaiknya menggunakan method POST sedangkan keperluan umum seperti pengiriman parameter nilai, proses pencarian dll kita bisa gunakan method GET.

Selamat belajar dan semoga bermanfaat

Zainal Hakim

Baca juga :

 

** Bebas disunting dengan menyebutkan sumber **

Komentar

Halaman Lainya

  • Cara memasukkan file flash ke halaman website
    Berikut ini tutorial tentang memasukkan file animasi flash ke dalam halaman website atau blog dengan perintah html. Flash adalah salah satu jenis hasil karya multimedia yang dapat digunakan untuk menampilkan animasi berbentuk gambar, tulisan, video, dan suara dengan kualitas yang cukup baik.
  • Membuat menu pada bidang gambar
    Mungkin sudah jarang sekali kita temui menu sebuah web yang hanya dibuat dengan gambar sehingga banyak pilihan menu/link halamannya diletakkan pada gambar itu juga. Umumnya sekarang gambar hanya digunakan pada bagian tertentu saja dan ukurannya pun tidak terlalu besar.
  • Membuat tabel dengan HTML
    Tabel adalah salah satu objek terpenting yang bisa kita gunakan untuk banyak keperluan. Tabel bisa digunakan untuk membuat laporan dengan HTML, bisa digunakan untuk menyusun objek lain seperti gambar atau tulisan, bahkan tabel juga bisa digunakan untuk menata layout tampilan web. Bagi anda yang sedang belajar bahasa pemrograman web seperti PHP atau yang lainya, tabel ini juga bagian terpenting yang harus anda ketahui karena bentuk laporan dari database tentunya akan disajikan dalam bentuk tabel. Bagaimana cara membuat tabel yang benar? dan bagaimana contohnya?
  • Mengenal HTML5
    HTML5 adalah versi terbaru teknologi hypertext/web yang sekarang ini masih dalam tahap pengembangan. HTML5 ini akan menjadi trend teknologi internet masa depan karena sudah diperkaya dengan fitur-fitur ungulan yang tentunya akan menjadi standard pengembangan media informasi berbasis web.
  • Mengatur urutan pengisian form
    Sebagian orang mengabaikan urutan pengisian form karena proses input data masih bisa dibantu dengan adanya mouse, sehingga bisa dengan leluasa berpindah dari isian satu ke lainya. Tapi kita bisa Mengatur urutan pengisian form dengan atribut tabindex

Kiriman terbaru