PHP : Form Handling

Membuat Formulir Kontak Sederhana

Dalam tutorial ini kita akan membuat formulir kontak HMTL sederhana yang memungkinkan pengguna untuk memasukkan komentar dan umpan balik mereka kemudian menampilkannya ke browser menggunakan PHP.

Buka editor kode favorit kalian dan buat file PHP baru. Sekarang ketikkan kode berikut dan simpan file ini sebagai “contact-form.php” di direktori root proyek kalian.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Contact Form</title>
</head>
<body>
    <h2>Contact Us</h2>
    <p>Please fill in this form and send us.</p>
    <form action="process-form.php" method="post">
        <p>
            <label for="inputName">Name:<sup>*</sup></label>
            <input type="text" name="name" id="inputName">
        </p>
        <p>
            <label for="inputEmail">Email:<sup>*</sup></label>
            <input type="text" name="email" id="inputEmail">
        </p>
        <p>
            <label for="inputSubject">Subject:</label>
            <input type="text" name="subject" id="inputSubject">
        </p>
        <p>
            <label for="inputComment">Message:<sup>*</sup></label>
            <textarea name="message" id="inputComment" rows="5" cols="30"></textarea>
        </p>
        <input type="submit" value="Submit">
        <input type="reset" value="Reset">
    </form>
</body>
</html>
Penjelasan Kode

Perhatikan bahwa ada dua atribut di dalam tag <form> pembuka:

  • Atribut action merujuk kepada file PHP “process-form.php” yang menerima data yang dimasukkan ke dalam formulir ketika pengguna mengirimkannya dengan menekan tombol kirim.
  • Atribut method memberi tahu browser untuk mengirim data formulir melalui metode POST.

Sisa elemen di dalam formulir adalah kontrol formulir dasar untuk menerima input pengguna.

Mengambil Data Formulir dengan PHP

Untuk mengakses nilai bidang formulir tertentu, kalian bisa menggunakan variabel superglobal berikut. Variabel-variabel ini tersedia di semua cakupan pada seluruh skrip.

SuperglobalDescription
$_GETBerisi daftar semua nama bidang dan nilai yang dikirim oleh formulir menggunakan metode get (mis. Melalui parameter URL).
$_POSTBerisi daftar semua nama bidang dan nilai yang dikirim oleh formulir menggunakan metode posting (data tidak akan terlihat di URL).
$_REQUESTBerisi nilai-nilai dari variabel $_GET dan $_POST serta nilai dari variabel superglobal $_COOKIE.

Ketika pengguna mengirimkan formulir kontak di atas dengan mengklik tombol kirim, data formulir dikirim ke file “process-form.php” di server untuk diproses. Ini hanya menangkap informasi yang dikirimkan oleh pengguna dan menampilkannya ke browser.

Kode PHP file “process-form.php” akan terlihat seperti ini:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Contact Form</title>
</head>
<body>
    <h1>Thank You</h1>
    <p>Here is the information you have submitted:</p>
    <ol>
        <li><em>Name:</em> <?php echo $_POST["name"]?></li>
        <li><em>Email:</em> <?php echo $_POST["email"]?></li>
        <li><em>Subject:</em> <?php echo $_POST["subject"]?></li>
        <li><em>Message:</em> <?php echo $_POST["message"]?></li>
    </ol>
</body>
</html>

Kode PHP di atas cukup sederhana. Karena data formulir dikirim melalui metode posting, kalian dapat mengambil nilai bidang formulir tertentu dengan memberikan namanya ke array superglobal $_POST, dan menampilkan setiap nilai bidang menggunakan pernyataan echo().

Di dunia nyata kalian tidak bisa mempercayai input pengguna; kalian harus menerapkan semacam validasi untuk memfilter input pengguna sebelum menggunakannya. Pada bab selanjutnya kalian akan belajar bagaimana membersihkan dan memvalidasi data formulir kontak ini dan mengirimkannya melalui email menggunakan PHP.