formpostsupergloballoginMenengah3 mnt baca

Formulir dengan POST

Mengirim data tersembunyi dari URL: form login dengan $_POST dan bedanya dengan GET.

Form HTML dengan method POST

html
<form action="login.php" method="post">
  <input type="text" name="username" placeholder="Username">
  <input type="password" name="password" placeholder="Password">
  <button type="submit">Masuk</button>
</form>

Data POST dikirim di body request, bukan di URL, jadi tidak terlihat di address bar.

Membaca dengan $_POST

php
<?php
// login.php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $username = trim($_POST["username"] ?? "");
    $password = $_POST["password"] ?? "";

    if ($username === "admin" && $password === "rahasia123") {
        echo "Login berhasil, selamat datang " . htmlspecialchars($username);
    } else {
        echo "Username atau password salah.";
    }
}

Mengecek $_SERVER["REQUEST_METHOD"] memastikan kode hanya jalan saat form disubmit, bukan saat halaman dibuka langsung.

GET vs POST: kapan pakai apa?

GETPOST
Terlihat di URLYaTidak
Bisa di-bookmarkYaTidak
Untuk passwordJanganYa
Batas ukuranKecil (URL)Besar
ContohPencarian, filter, halamanLogin, daftar, simpan data

Aturan praktis: GET untuk membaca/mencari, POST untuk mengubah/mengirim data sensitif.

Catatan teknis: POST hanya menyembunyikan data dari URL, bukan mengenkripsi. Data tetap bisa dibaca lewat DevTools tab Network atau network sniffing kalau tidak pakai HTTPS. Jadi validasi server-side tetap wajib: jangan pernah percaya $_POST begitu saja, selalu cek isi dan amankan sebelum dipakai.