Form Handling dengan PHP
Salah satu fungsi utama PHP adalah menerima data dari form HTML. Ketika pengguna mengisi form dan klik submit, data dikirim ke server dan PHP yang memprosesnya.
Method GET vs POST
Ada dua cara form mengirim data:
Contoh GET
URL setelah submit: cari.php?kata=php
Contoh POST
Variabel Superglobal
PHP menyediakan variabel khusus untuk menerima data:
Validasi dan Sanitasi
Data dari form bisa dimanipulasi oleh pengguna. Selalu validasi dan sanitasi sebelum digunakan.
Fungsi Keamanan Penting
Tanpa htmlspecialchars(), pengguna bisa memasukkan kode JavaScript berbahaya lewat form:
Form Lengkap: Satu File PHP
Cara paling umum adalah menggunakan satu file PHP untuk menampilkan form DAN memprosesnya:
Perhatikan value="<?= $nama ?>" pada input. Ini disebut sticky form — kalau ada error, data yang sudah diketik tidak hilang. Pengguna tidak perlu mengisi ulang dari awal!
Selanjutnya
Sekarang PHP sudah bisa menerima data dari form. Tapi data menghilang setelah halaman di-refresh. Kita perlu database untuk menyimpan data secara permanen. Mari belajar Koneksi Database →.
❓ Error Umum Pemula
:::warning Sering Terjadi!
Undefined array key "nama": Error ini muncul karena kamu mencoba membaca$_POST['nama']padahal form belum disubmit oleh user (halaman baru diload pertama kali). Solusi: Selalu gunakan pengecekanif ($_SERVER['REQUEST_METHOD'] == 'POST')sebelum membaca$_POST.- Lupa Atribut
namedi HTML: Misal kamu menulis<input type="text" id="email">(kurang atributname="email"). Akibatnya: Data tidak akan pernah terkirim ke PHP! PHP tidak membacaid, PHP hanya membaca atributname. - Tertukar GET dan POST: Form di HTML menggunakan
method="POST", tapi di PHP kamu mengambilnya menggunakan$_GET['nama']. Data akan selalu kosong! :::