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?
| GET | POST | |
|---|---|---|
| Terlihat di URL | Ya | Tidak |
| Bisa di-bookmark | Ya | Tidak |
| Untuk password | Jangan | Ya |
| Batas ukuran | Kecil (URL) | Besar |
| Contoh | Pencarian, filter, halaman | Login, 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
$_POSTbegitu saja, selalu cek isi dan amankan sebelum dipakai.