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.
Contents
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.