Form adalah salah satu cara paling umum untuk mengambil input dari pengguna. PHP menyediakan berbagai cara untuk menangkap, memvalidasi, dan mengelola data dari form HTML.
Form HTML dan Metode GET & POST
Form HTML digunakan untuk mengirim data ke server. Ada dua metode utama: GET dan POST.
1. Metode GET
- Data dikirim melalui URL.
- Cocok untuk pencarian atau data yang tidak sensitif.
<form action="proses.php" method="GET">
Nama: <input type="text" name="nama">
<input type="submit" value="Kirim">
</form>
2. Metode POST
- Data dikirim melalui body request.
- Lebih aman untuk data sensitif seperti password.
<form action="proses.php" method="POST">
Nama: <input type="text" name="nama">
<input type="submit" value="Kirim">
</form>
Menangkap Data Form: $_GET dan $_POST
PHP menyediakan superglobals untuk mengambil data form.
Contoh GET
<?php
$nama = $_GET['nama'];
echo "Halo, $nama!";
?>
Contoh POST
<?php
$nama = $_POST['nama'];
echo "Halo, $nama!";
?>
Gunakan POST untuk data yang lebih aman dan panjang.
Validasi Input Dasar
Sebelum memproses input, lakukan validasi untuk mencegah kesalahan:
<?php
$nama = $_POST['nama'] ?? '';
if(empty($nama)) {
echo "Nama tidak boleh kosong!";
} else {
echo "Halo, $nama!";
}
?>
Contoh validasi lainnya:
- Cek apakah email valid:
filter_var($email, FILTER_VALIDATE_EMAIL) - Cek angka:
is_numeric($angka)
Sanitasi Input
Sanitasi mencegah serangan XSS atau SQL Injection dengan membersihkan data:
<?php
$nama = htmlspecialchars($_POST['nama']); // Menghindari tag HTML berbahaya
$umur = intval($_POST['umur']); // Mengubah input menjadi integer
?>
Superglobals Lainnya
PHP menyediakan beberapa superglobals tambahan:
Superglobal | Fungsi Utama |
|---|---|
$_REQUEST | Mengambil data dari GET, POST, dan COOKIE sekaligus |
$_SERVER | Informasi server dan request, misal $_SERVER['PHP_SELF'] |
$_FILES | Menangani file upload dari form |
$_SESSION | Menyimpan data sementara di server untuk tiap pengguna |
$_COOKIE | Menyimpan data di browser pengguna |
Contoh $_SERVER
<?php
echo "Nama file saat ini: " . $_SERVER['PHP_SELF'];
?>
Contoh $_FILES
<form action="upload.php" method="POST" enctype="multipart/form-data">
Pilih file: <input type="file" name="file">
<input type="submit" value="Upload">
</form>
<?php
if(isset($_FILES['file'])) {
$namaFile = $_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'], "uploads/".$namaFile);
echo "File berhasil diupload: $namaFile";
}
?>
Dengan memahami form, metode GET/POST, validasi, dan superglobals, Anda dapat membuat aplikasi interaktif yang aman dan fleksibel.