Pada sebuah tag form, umumnya akan terdapat dua buah atribut yaitu action dan method. Action berisikan halaman atau file tujuan untuk memproses inputan dari form, sedangkan method menentukan jenis atau metode pengiriman data yang dilakukan (GET/POST).
GET VS POST
- Pada metode get berarti input dari user dikirim ke halaman atau file action melalui parameter (adress bar), sedangkan metode post tidak dikirim melalui URL
- Dengan metode get kita dapat melakukan bookmark sebuah halaman website, sedangkan post tidak
- Metode get memiliki batas inputan 200 karakter, sedangkan post tidak
- Dengan metode get nilai dari masing-masing elemen form akan diterima oleh variabel global $_GET[“nama_elemen”], sedangkan dengan metode post akan diterima oleh $_POST[“nama_elemen”]
- $_REQUEST[“nama_elemen”] dapat digunakan untuk kedua metode post atau get
METODE GET
Get merupakan sebuah atribut yang dimiliki oleh form. Bila METHOD dalam form diisi dengan GET, maka data yang diisi di dalam form akan dikirimkan ke server dengan cara diletakkan di belakang URL. Untuk lebih jelasnya, cobalah kode berikut :
File : metode-get.php <HTML> <HEAD> <TITLE>Menggunakan metode GET</TITLE> </HEAD> <BODY> <FORM METHOD=GET ACTION=proses-get.php> Username : <INPUT TYPE=text NAME=nama /><BR> Password : <INPUT TYPE=password NAME=rahasia /><BR> <INPUT TYPE=submit VALUE="Login"> </FORM> <BODY> </HTML>
File : proses-get.php <?php If ($_GET['nama']=="meonk" && $_GET['rahasia']=="kucing"){ echo("Anda telah berhasil login"); }else{ echo("Username atau Password anda masih salah"); } ?>
Selanjutnya jalankan file metode-get.php, jika kode yang anda ketik benar maka akan muncul seperti gambar berikut:
Gambar Output file metode-get.php
Setelah anda masukkan dengan data yang benar, anda akan melihat hasilnya seperti berikut:
Gambar Hasil Proses Login (file proses-get.php)
Dengan menggunakan metode get, data yang telah diisi di dalam form akan terlihat pada URL.
METODE POST
Sama halnya seperti get, metode post juga merupakan atribut yang dimiliki oleh form. Bila METHOD dalam form diisi dengan POST, maka data yang diisi di dalam form akan dikirim ke server secara terpisah, artinya data tidak terlihat di belakang URL. Untuk lebih jelasnya, coba ubah METHOD pada skrip metode-get.php, pada baris kode :
<FORM METHOD=GET ACTION=proses-get.php>
Ubah menjadi:
<FORM METHOD=POST ACTION=proses-get.php>
Kemudian ubah juga pada file proses-get.php, pada baris kode:
If ($_GET[‘nama’]==”meonk” && $_GET[‘rahasia’]==”kucing”){
Ubah menjadi:
If ($_POST[‘nama’]==”meonk” && $_POST[‘rahasia’]==”kucing”){