Teori 5 - PHP Form
Teori 5 - PHP Form
Form Handling
• Form handling mengacu pada proses menangkap, memvalidasi, dan
memproses data yang dikirimkan oleh pengguna melalui form HTML
di halaman web.
• Form handling pada aplikasi web berhubungan erat dengan tag HTML
form beserta komponen-komponen tag input seperti text,
number, password, email, radio, color, select,
textarea, dll.
Metode Form Handling
<?php
if(isset($_GET['merk'])){
echo "Anda ingin mencari barang dengan merk: ".$_GET['merk'];
}
?>
Fungsi isset() di PHP digunakan untuk memeriksa apakah suatu variabel memilik nilai dan
bukan NULL. Fungsi ini mengembalikan nilai dalan bentuk Boolean, true or false.
Metode POST
• Data yang dikirim melalui permintaan POST dikirim dalam isi request
dan tidak terlihat di URL.
• Metode POST dianggap lebih aman daripada metode GET karena data
yang dikirim melalui permintaan POST tidak tidak di-cache oleh
browser.
• Metode POST cocok untuk digunakan pada proses create, update dan
delete record di database.
• Menggunakan global variabel PHP $_POST
Kapan menggunakan POST?
• Metode POST biasanya • Form login dan registrasi
digunakan saat mengirimkan user
data ke server, karena data • Form membuat artikel
dikirim dalam isi permintaan dan
tidak terlihat di URL. Ini • Form mengganti password
menjadikannya pilihan yang baik • Form membuat komentar
untuk mengirimkan informasi di situs web
sensitif seperti kredensial masuk
atau informasi pribadi.
Contoh POST
<form action="submit.php" method="post">
<label>Name: <input type="text" name="name"></label>
<input type="submit" value="Submit">
</form>
<?php
if(isset($_POST['name'])){
echo “Nama anda adalah: ".$_POST['name'];
}
?>
Form Validation
• Validasi form adalah suatu proses pengecekan apakah data yang
dimasukkan ke dalam form oleh pengguna sudah dalam format yang
benar dan memenuhi kriteria tertentu sebelum diproses.
• Validasi form merupakan langkah penting dalam penanganan form
karena membantu memastikan bahwa data yang diterima oleh server
akurat dan lengkap.
• Bentuk penerapan keamanan aplikasi web dari kerentanan
Jenis Validasi Form
• Validasi required: memeriksa apakah bidang yang diperlukan telah diisi
oleh pengguna.
• Validasi tipe data: memeriksa apakah data yang dimasukkan oleh
pengguna adalah tipe data yang benar, seperti nomor atau alamat email.
• Validasi format: Ini memeriksa apakah data yang dimasukkan oleh
pengguna dalam format yang benar, seperti tanggal atau nomor telepon
yang valid.
• Validasi rentang: memeriksa apakah data yang dimasukkan oleh pengguna
termasuk dalam rentang tertentu, seperti angka 1 - 100.
• Validasi file: memeriksa apakah file memiliki ukuran, tipe file yang sesuai.
• dsb
Client vs Server Side Validation
Validasi dapat dilakukan baik sisi klien maupun sisi server.
• Client-side validation dilakukan menggunakan JavaScript, HTML5 dan
CSS. Validasi ini cenderung lebih cepat karena memberikan feedback
yang instan kepada pengguna. Validasi dilakukan sebelum request
dikirimkan ke server.
• Server-side validation dilakukan dengan menggunakan skrip di sisi
server seperti PHP. Validasi ini dilakukan pada server setelah data
form diterima.
Contoh client-side validation
<form>
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<label for="email">Email:</label>
<input type="email" id="email" name="email“ required>
<label for="password">Password:</label>
<input type="password" id="password" name="password" minlength="6" required>
if (empty($name)) {
$errors['name'] = 'Name tidak boleh kosong';
}
if (strlen($password) < 8) {
$errors['password'] = 'Password min. 6 karakter';
}
}
?>
Form upload
• Form upload, juga dikenal sebagai file upload, memungkinkan
pengguna mengunggah file dari komputer lokal ke server
menggunakan form web.
• Fitur ini biasa digunakan untuk mengunggah gambar, dokumen,
audio, video dan jenis file lainnya.
• Berbeda dengan jenis input form lainnya, input dengan tipe data file
dapat diakses dengan global variabel $_FILES.
Contoh Form Upload
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileku"><br>
<input type="submit" value="Upload">
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
$fileName = $_FILES['fileku']['name'];