Perbedaan Method GET dan POST di PHP

Banyak programmer web pemula yang masih bingung apa maksud dari penggunaan method GET dan POST di PHP. Sebenarnya maksudnya sangat sederhana yaitu sebuah type pengiriman data. Pengiriman type GET adalah pengiriman data yang datanya terlihat di URL sedangkan type POST adalah pengiriman data yang datanya tidak terlihat di URL. Saya yakin dalam tutorial yang kamu dapat pasti sering melihat method GET dan POST namun tidak mengerti maksudnya. Dan disini saya akan menunjukan maksud dari penggunaan GET dan POST secara sederhana. Mari simak bagaimana penjelasannya.

Penjelasan Method GET dan POST

Perbedaan Method GET dan POST di PHP

Kedua method tersebut sebenarnya memiliki fungsi yang sama yaitu digunakan untuk pengiriman data. Namun bentuk pengiriman ini yang berbeda. Kamu pasti sering melihat sebuah URL yang dibelakang file php seperti index.php terdapat karakter tanda tanya (?) diikuti dengan parameter seperti “?variable=BRG101″ nah ini adalah bentuk pengirman nilai yang terlihat di URL (type GET) dan untuk menangkap pengiriman tersebut harus menggunakan fungsi $_GET. Sedangkan bentuk pengiriman yang tidak terlihat di URL (type POST) seperti pengiriman dari sebuah FORM harus ditangkap dengan fungsi $_POST. Jadi penggunaan $_GET atau $_POST tergantung dari type pengiriman datanya. Mari perhatikan contoh programnya.

Method GET

Buat file GET.php kemudian masukan program di bawah ini :

<html>
  <head>
    <title>Method GET</title>
  </head>
  <body>
Silakan Masukkan Username dan Password Anda

    <form action="" 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 name="login" type="submit" value="Login"/>
          </td>
        </tr>
      </table>
    </form>
  </body>
</html>
<hr>
  <?php
    //Program ini dipanggil jika terdapat data yang dikirimkan dengan nama login bertipe GET
    if (isset($_GET['login'])) {
      echo "Username : " . $_GET['username'] . "<br>";
      echo "Password : " . $_GET['password'];
    }
  ?>

Dari program di atas bisa kamu lihat pada bagian atribut method di tag form berisi GET dan pada bagian action tidak berisi apa-apa. Ini menandakan bahwa data yang di inputkan bertipe GET (terlihat di URL) dan kemudian akan di tangkap oleh file GET.php itu sendiri karena atribut action tidak terisi. Program di atas akan menghasilkan sebuah form yang berisi inputan Username dan Password. Sedangkan fungsi  isset($_GET[‘login’]) adalah sebuah pengkondisian jika terdapat parameter $_GET[‘login’] maka program yang berada dalam fungsi IF akan di eksekusi.

Perhatikan baris program $_GET[“username”] dan $_GET[“password”]. Fungsi inilah yang digunakan untuk menangkap nilai yang bertipe GET. Lalu dari mana asal kata username dan password ? Dari attribut name dalam tag input, attribut tersebutlah yang akan digunakan sebagai nama variabel dalam pengiriman data.

Saat kamu jalankan programnya kemudian memasukan username dan password dengan nilai icaksama lalu klik tombol Login maka URL akan terlihat sebagai berikut dan kemudian menampilkan hasilnya di browser.

http://localhost/PerbedaanGETdanPOST/GET.php?username=icaksama&password=icaksama&login=Login

URL diatas adalah contoh URL dari type GET. Pengiriman data type GET sebenarnya tidak hanya dimanfaatkan untuk fungsi FORM saja tapi bisa dipakai dalam tag a / link.

Method POST

Method ini hampir sama dengan method GET, cuma bedanya data yang di inputkan tidak terlihat pada URL dan penangkapan datanya juga harus menggunakan fungsi $_POST. Silahkan coba contoh programnya.
Buat file POST.php kemudian masukan program di bawah ini :

<html>
  <head>
    <title>Method POST</title>
  </head>
  <body>
Silakan Masukkan Username dan Password Anda

    <form action="" 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 name="login" type="submit" value="Login"/>
          </td>
        </tr>
      </table>
    </form>
  </body>
</html>
<hr>
  <?php
  //Program ini dipanggil jika terdapat data yang dikirimkan dengan nama login bertipe POST
  if (isset($_POST['login'])) {
    echo "Username : " . $_POST['username'] . "<br>";
    echo "Password : " . $_POST['password'];
  }
  ?>

Dari program di atas bisa dilihat pada bagian atribut method di tag form berisi POST dan pada bagian action tidak terisi apa-apa. Ini menandakan bahwa data yang di kirimkan bertype POST (tidak terlihat di URL) dan kemudian akan di tangkap oleh file POST.php itu sendiri. Serta penangkapan data juga juga harus menggunakan fungsi $_POST.

Saat kamu memasukan nilai pada inputan username dan password lalu klik Login maka URL akan tetap terlihat sama namun telah mengirimkan data yang tak terlihat di URL.

http://localhost/PerbedaanGETdanPOST/POST.php

Jadi perbedaannya adalah pada bentuk pengiriman datanya apakah terlihat di URL atau tidak. Fungsi $_GET untuk menangkap data yang terlihat di URL sedangkan fungsi $_POST sebaliknya. Oke demikian tutorial kali ini. Semoga dengan ini kamu mengerti jika mendapat tutorial-tutorial lainnya dan Selamat Belajar Menjadi Master Programmer!

Ayo! Segera daftarkan email kamu untuk berlangganan!

Comments (2)

Terima kasih gan!
Sangat membantu 🙂

Yaps!
Jangan lupa likenya yaa 😀

Leave a comment