PHP - Pengendalian Borang: Panduan Pemula

Hai daar, pemrogram yang sedang belajar! Hari ini, kita akan memulakan sebuah perjalanan yang menarik ke dunia pengendalian borang PHP. Sebagai guru komputer tetangga yang ramah, saya di sini untuk membimbing anda melalui aspek penting ini dalam pembangunan web. Jangan bimbang jika anda belum pernah menulis baris kode sebelum ini - kita akan mulai dari permulaan dan kerjakan bersama-sama.

PHP - Form Handling

Apa Itu Pengendalian Borang?

Sebelum kita masuk ke detil, mari kita memahami apa itu pengendalian borang. Bayangkan anda mengisi borang permohonan kerja secara online. Anda mengetikkan nama, email, dan maklumat lain, kemudian menekan butang submit. Pernahkah anda bertanya-tanya apa yang terjadi selepas itu? Itu adalah di mana pengendalian borang memasuki gambar.

Pengendalian borang adalah proses pengumpulan, pengolahan, dan penyimpanan maklumat yang dihantar oleh pengguna melalui borang web. Itu seperti menjadi pelayan di restoran - anda mengambil order (mengumpulkan data), menghantarinya ke dapur (mengolahnya), dan kemudian melayani makanan (merespon kepada pengguna).

Atribut Borang

Sekarang, mari kita bicarakan tentang blok pembangun borang kami - atribut. Ini seperti petunjuk khas yang anda berikan untuk membuat borang anda bekerja dengan betul.

Berikut adalah tabel atribut borang yang paling umum:

Atribut Keterangan
action Menentukan di mana data borang hendak dihantar saat disubmit
method Menentukan bagaimana data borang hendak dihantar (GET atau POST)
name Memberi nama kepada borang untuk rujukan
target Menentukan di mana tanggapan hendak dipaparkan selepas submit
enctype Menentukan bagaimana data borang hendak diencode

Mari kita lihat contoh:

<form action="process.php" method="post" name="myForm">
<!-- Element borang diletakkan di sini -->
</form>

Dalam contoh ini, kita mengatakan kepada borang untuk menghantar data ke fail "process.php" menggunakan metode POST saat disubmit. Kita juga memberinya nama, "myForm", untuk rujukan mudah.

Element Borang

Sekarang kita memiliki struktur borang, mari kita isinya dengan beberapa elemen. Ini adalah ruang di mana pengguna dapat memasukkan maklumat mereka.

Berikut adalah tabel elemen borang yang umum:

Elemen Keterangan
input Membuat pelbagai jenis ruang input (teks, kata sandi, kotak centang, dll.)
textarea Membuat ruang input teks multi-baris
select Membuat senarai dropdown
button Membuat butang yang dapat diklik

Mari kita tambahkan beberapa elemen ke borang kita:

<form action="process.php" method="post" name="myForm">
<label for="name">Nama:</label>
<input type="text" id="name" name="name" required>

<label for="email">Email:</label>
<input type="email" id="email" name="email" required>

<label for="message">Pesan:</label>
<textarea id="message" name="message" rows="4" cols="50"></textarea>

<input type="submit" value="Submit">
</form>

Dalam contoh ini, kita menambahkan ruang untuk nama, email, dan pesan. Atribut 'required' memastikan bahwa pengguna mengisi ruang nama dan email sebelum submit.

Contoh Borang

Sekarang, mari kita gabungkan semua dan buat borang lengkap dengan pengendalian PHP. Kita akan membuat dua fail: satu untuk borang HTML dan lainnya untuk pengendalian data borang.

Pertama, fail HTML kita (form.html):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Borang Pertama PHP</title>
</head>
<body>
<h2>Hubungi Kami</h2>
<form action="process.php" method="post">
<label for="name">Nama:</label>
<input type="text" id="name" name="name" required><br><br>

<label for="email">Email:</label>
<input type="email" id="email" name="email" required><br><br>

<label for="subject">Subjek:</label>
<select id="subject" name="subject">
<option value="general">Pertanyaan Umum</option>
<option value="support">Pertolongan Teknikal</option>
<option value="billing">Pertanyaan Tagihan</option>
</select><br><br>

<label for="message">Pesan:</label><br>
<textarea id="message" name="message" rows="4" cols="50"></textarea><br><br>

<input type="submit" value="Submit">
</form>
</body>
</html>

Sekarang, mari kita buat fail PHP untuk pengendalian submit borang (process.php):

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];

// Di sini, anda biasanya akan mengolah data (misalnya, menyimpan ke pangkalan data)
// Untuk contoh ini, kita hanya akan mencetak data yang diterima

echo "<h2>Terima kasih untuk pengajuan anda!</h2>";
echo "<p>Nama: " . htmlspecialchars($name) . "</p>";
echo "<p>Email: " . htmlspecialchars($email) . "</p>";
echo "<p>Subjek: " . htmlspecialchars($subject) . "</p>";
echo "<p>Pesan: " . htmlspecialchars($message) . "</p>";
} else {
echo "Ups! Ada kesalahan. Silakan cuba submit borang lagi.";
}
?>

mari kitauraikan apa yang terjadi dalam fail PHP kita:

  1. Pertama, kita memeriksa jika borang disubmit menggunakan metode POST.
  2. Jika ya, kita mengambil data borang menggunakan superglobal $_POST.
  3. Kemudian kita cetak kembali informasi yang disubmit kepada pengguna.
  4. Jika borang tidak disubmit melalui POST, kita tunjukkan pesan kesalahan.

Catatan penggunaan fungsi htmlspecialchars(). Ini adalah langkah keamanan penting untuk mencegah serangan XSS (Cross-Site Scripting) dengan mengkonversi karakter khusus ke entiti HTML.

Dan begitulah! Anda telah membuat skrip pengendalian borang PHP pertama anda. Saat pengguna submit borang, mereka akan melihat pesan terima kasih beserta informasi yang mereka submit.

Ingat, dalam situasi dunia nyata, anda akan ingin melakukan lebih banyak hal dengan data ini - seperti menyimpannya ke pangkalan data, mengirim email, atau memicu tindakan lain. Tetapi contoh ini memberikan anda dasar kuat untuk membangun.

Saat kita selesai, saya ingin berkongsi cerita kecil dari hari pertama saya mengoding. Pernah sekali saya lupa untuk menambahkan atribut 'action' di borang saya, dan kemudian menghabiskan jam mencari tahu mengapa skrip PHP saya tidak menerima data apa pun! Itu menunjukkan betapa pentingnya detil kecil dalam pemrograman. Jadi, selalu periksa kembali kode anda, dan jangan takut untuk membuat kesalahan - mereka adalah guru terbaik!

Terus latihan, tetap ciek, dan sebelum anda menyadari, anda akan mengendalikan borang seperti seorang ahli. Selamat berkoding!

Credits: Image by storyset