Apa perbedaan dari penggunaan get dan post dalam php?

Tutorial Form PHP Part 2: Perbedaan Metode Pengiriman Form GET dan POST dalam PHP

29 Jun 14 | | Tutorial PHP | |

Apa perbedaan dari penggunaan get dan post dalam php?

Salah satu pertimbangan dasar dalam membuat dan memproses form PHP adalah apakah form tersebut dikirim menggunakan method=get atau method=post. Dalam tutorial kali ini kita akan membahas dan mempelajari keunggulan dan kelemahan masing-masing metode pengiriman form ini.


Keunggulan dan Kelemahan Method Form ‘GET’

Kelemahan yang paling jelas jika kita menggunakan method=get adalah nilai dari form dapat dilihat langsung di dalam URL yang dikirimkan. Jika anda membuat form untuk data-data yang sensitif seperti password, maka form dengan method=get bukanlah pilihan yang tepat.

Form dengan method=get disarankan untuk form yang berfungsi menampilkan data, yaitu dimana hasil isian form hanya digunakan untuk menampilkan data, sesuai dengan arti kata get yang bisa berarti: ‘ambil’. Sehingga method=get sebaiknya digunakan untuk form yang ‘mengambil’ data dari database.

Salah satu penggunaan method=get yang umum digunakan adalah pada form pencarian (form search). Dengan membuat hasil inputan form terlihat jelas dalam URL, pengunjung web bisa dengan mudah menebak ‘alur kerja’ dari situs kita. Bahkan pengunjung bisa membuat aplikasi pencarian sendiri dengan memanfaatkan fasilitas ini.

Sebagai contoh, di dalam situs duniailkom, kotak input search di kanan atas halaman ini dibuat dengan method=get. Misalkan kita ingin mencari seluruh postingan yang berkaitan dengan ‘Form PHP’, maka kita bisa mengetikkan kata ‘Form PHP’, kemudian men-klik tombol enter di keyboard. Beberapa saat kemudian, hasil pencarian akan ditampilkan. Jika diperhatikan alamat URL pada web browser, akan berubah menjadi:

https://www.duniailkom.com/?s=form+php&submit=Search

Hasil URL ini merupakan query pencarian default yang digunakan oleh wordpress (CMS yag digunakan di duniailkom).

Setelah nama domain www.duniailkom.com, selanjutnya kita melihat karakter ?s=form+php&submit=Search. Karakter-karakter ini adalah hasil format form dengan metode=get. Tanda ? menandakan awal nilai form, tanda + untuk menandakan spasi, dan tanda & untuk memisahkan objek form. Dengan memanfaatkan keterangan ini, kita bisa melakukan pencarian hanya melalui URL secara lansung, tanpa harus melalui form.

Sebagai contoh, jika anda ingin mencari semua postingan dengan kata kunci ‘Integer dalam PHP’, maka anda bisa menggunakan link berikut:

https://www.duniailkom.com/?s=integer+dalam+php&submit=Search

Untuk mengujinya, silahkan copy–paste text tersebut ke address bar web browser, dan situs duniailkom akan langsung menampilkan hasil pencarian dengan kata kunci ‘Integer dalam PHP’. Hal ini membuat halaman web menjadi lebih fleksibel.

Untuk contoh lainnya, jika anda mengikuti tutorial Form HTML ini dari Part 1, maka kita memiliki file proses.php yang berfungsi untuk memproses hasil form. Fleksibilitas yang diberikan oleh variabel $_GET membuat kita bisa menampilkan nilai dalam proses.php tanpa menggunakan form sama sekali.

Jika isi dari file proses.php adalah:

";
echo $_GET['email'];
?>

Kita bisa membuat langkah yang sama seperti contoh di dalam pencarian ‘Integer dalam PHP’ sebelumnya. Sekarang copy paste URL berikut ini kedalam address bar web browser (pastikan aplikasi XAMPP sudah berjalan dan file proses.php berada di dalam folder belajar_form):

http://localhost/belajar_form/proses.php?nama=fajar&email=fajar%40gmail.com

Apa perbedaan dari penggunaan get dan post dalam php?
Dan hasil tampilan halaman proses.php akan menampilkan nama fajar dan alamat email . 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.


Keunggulan dan Kelemahan Method Form ‘POST’

Keuntungan mengunakan method=post dalam pembuatan form PHP adalah bahwa isi dari form tidak ditampilkan di URL, sehingga method ini sesuai untuk data-data yang bersifat sensitif seperti username dan password.

Sesuai dengan namanya, method=post disarankan digunakan untuk form yang digunakan untuk menambah data (posting data) atau sebuah proses yang akan mengubah isi database, seperti query Insert, Delete. Contoh penggunaan method=post ini sering digunakan untuk form register dan form login yang diaggap bersifat rahasia.

Jika kita membuat form untuk keperluan upload file (menggunakan tag ), maka kita harus membuat form dengan method=post.


Sebagai kesimpulan terakhir, pilihan antara method=get dengan method=post bergantung kepada tingkat sensitifitas data. Untuk data yang sensitif seperti password atau yang melakukan suatu perubahan ke database, sebaiknya menggunakan method=post. Namun untuk data yang ditujukan untuk menampilkan, atau mengambil sesuatu dari database, sebaiknya menggunaan method=get.

Apa Perbedaan GET dan POST dalam PHP?

Perbedaan post dan get di php selanjutnya adalah jika method POST menggunakan variable $_POST untuk menampung nilai, sedangkan method GET menggunakan variable $_GET untuk menampung nilai.

Apa fungsi dari GET dan POST?

Pada hakikatnya, kedua method ini yaitu POST dan GET memiliki fungsi yang sama yaitu untuk mengirimkan nilai (value) variabel ke file lain yang telah diatur oleh sang programmer. Sebenarnya tidak hanya mengirimkan value variabel ke file lain saja, bisa saja mengirimkannya ke database.

1 Apa perbedaan method GET dan POST pada suatu form?

Method POST akan mengirimkan data atau nilai langsung ke action untuk ditampung, tanpa menampilkan pada URL. Sedangkan method GET akan menampilkan data/nilai pada URL, kemudian akan ditampung oleh action.

Kapan saat menggunakan method POST dan GET?

Method POST dan GET digunakan pada form di halaman website. Untuk proses pengiriman data melalui url akan terlihat perbedaan seperti ini. Dimana pada method POST tidak menampilkan nilai/data yang dikirim pada URL sedangkan method GET menampilkan nilai/data yang dikirimkan melalui url.