Perbedaan Metode POST dan GET pada PHP

POST dan GET memang mempunyai fungsi yang sama yaitu mengirimkan variabel ke halaman lain atau mengirimkannya ke database. Nah, terus apa bedanya nih?

Metode POST
Buat file index.php dan ketikkan code berikut :

<html>
<title> Beda POST dan GET</title>
<body>
Silakan Login dengan Username dan Password Anda
<form action="view.php" method="POST">
	<table>
		<tr>
			<td>Username</td>
			<td><input type="text" name="username"/></td>
		</tr>
		<tr>
			<td>Password</td>
			<td><input type="password" name="password"/></td>
		</tr>
		<tr>
			<td></td>
			<td><input type="submit" value="Login"/></td>
		</tr>
	</table>
</form>
</body>
</html>

Kemudian buat file baru dengan nama view.php dan ketikkan baris berikut

<html>
<title> Beda POST dan GET</title>
<body>
Username : <?php echo $_POST["username"]; ?><br/>
Password : <?php echo $_POST["password"]; ?>
</body>
</html>

Hasilnya,

Metode POST

Metode POST

 

Metode GET
Ubah file index.php yang telah kita buat tadi menjadi seperti ini

<html>
<title> Beda POST dan GET</title>
<body>
Silakan Login dengan Username dan Password Anda
<form action="view.php" method="GET">
	<table>
		<tr>
			<td>Username</td>
			<td><input type="text" name="username"/></td>
		</tr>
		<tr>
			<td>Password</td>
			<td><input type="password" name="password"/></td>
		</tr>
		<tr>
			<td></td>
			<td><input type="submit" value="Login"/></td>
		</tr>
	</table>
</form>
</body>
</html>

Jadi yang diubah hanya tulisan POST, diganti GET.

Kemudian ganti juga file view.php menjadi

<html>
<title> Beda POST dan GET</title>
<body>
Username : <?php echo $_GET["username"]; ?><br/>
Password : <?php echo $_GET["password"]; ?>
</body>
</html>

Disini $_POST kita ubah menjadi $_GET. Hasilnya,

Metode GET

Metode GET

 

Dari kedua gambar memberikan hasil yang sama, tapi coba liat URLnya, loh kok beda?

Nah perbedaannya

POST GET
Nilai variabel tidak ditampilkan di URL Nilai variabel ditampilkan di URL sehingga user dapat dengan mudah memasukkan nilai variabel baru
Lebih aman Kurang aman
Tidak dibatasi panjang string Dibatasi panjang string sampai 2047 karakter
Pengambilan variabel dengan $_POST Pengambilan variabel dengan $_GET
Biasanya untuk input data melalui form Biasanya untuk input data melalui link
Digunakan untuk mengirim data-data penting seperti password Digunakan untuk mengirim data-data tidak penting

Untuk form login tentunya kita gunakan POST agar variabel username dan password tidak ditampilkan di URL.

16 comments
  1. kithink said:

    trims mastah,ane yg oon jadi ngerti

  2. austinatp said:

    thanks ilmunya sob…

  3. ane kasih masukan ya…
    tapi kalo untuk mentransfer ke dalam database, yang di pakai $_POST bukan $_GET…
    ane udah coba pakai get, kalo pakai get datanya gak masuk

    • Tixtux said:

      Bisa bang Dheo, $_GET buat insert ke db, tapi kurang aman karena datanya terlihat di URL

    • Tixtux said:

      meluncur😀

  4. Gaptek said:

    Mantap gan, oh iya punya modul PHP gk?
    ane pengen belajar PHP.

    • Tixtux said:

      gak ada sih, coba seach aja di google banyak deh..

  5. indra gunawan said:

    terimakasih , sekarang ane jdi tau bedanya😀

  6. Otakuvc said:

    Thanks info na..😀

  7. hafizh said:

    THANKS gan, bantu banget nih😀

  8. inthinks said:

    nice post

  9. mukadar said:

    POST atau GET itu ga ada hubungannya dengan aman tidaknya data. Tapi kedua memang punya semantik dan keperluan berbeda. POST itu digunakan untuk mengirim data yang nantinya dapat merubah state dari server (misalkan data untuk disimpan di database. GET itu sesuai namanya untuk mendapatkan informasi dari server tanpa mengubah state dari server. Singkatnya mengirim data ke server untuk disimpan menggunakan metode GET itu tidak idiomatik. Kita bisa menambahkan parameter kepada metode GET untuk lebih menspesifikan data yang ingin kita dapatkan menggunakan query string (data sehabis tanda ? pada url).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: