PHP Form Validation - Field Wajib Diisi

Bagian ini menunjukkan bagaimana membuat field input wajib diisi, serta membuat pesan kesalahan yang digunakan saat diperlukan.

PHP - Field Input

Dari aturan verifikasi di bagian sebelumnya, kami melihat bahwa field "Name", "E-mail" serta "Gender" adalah diperlukan. Field ini tidak boleh kosong dan harus diisi di formulir HTML.

Field Aturan Verifikasi
Nama Diperlukan. Harus mengandung huruf dan spasi.
E-mail Diperlukan. Harus mengandung alamat email yang valid (termasuk @ dan .).
Website Opsional. Jika diisi, maka harus mengandung URL yang valid.
Komentar Opsional. Field input teks berbaris (kotak teks).
Gender Diperlukan. Harus memilih salah satu.

Pada bagian sebelumnya, semua field input adalah opsional.

Dalam kode di bawah ini kami menambahkan beberapa variabel baru: $nameErr, $emailErr, $genderErr serta $websiteErr. Variabel kesalahan ini akan menyimpan pesan kesalahan field permintaan. Kita juga menambahkan pernyataan if else untuk setiap $_POST variabel. Pernyataan ini memeriksa apakah $_POST variabel kosong (melalui fungsi PHP empty()). Jika kosong, pesan kesalahan akan disimpan di variabel kesalahan yang berbeda. Jika tidak kosong, data input pengguna akan dikirim melalui fungsi test_input():

<?php}}
// Definisi variabel dan set ke nilai kosong
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Nama diperlukan";
  } else {
    $name = test_input($_POST["name"]);
  }
  if (empty($_POST["email"])) {
    $emailErr = "Email diperlukan";
  } else {
    $email = test_input($_POST["email"]);
  }
  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
  }
  if (empty($_POST["comment"])) {
    $comment = "";
  } else {
    $comment = test_input($_POST["comment"]);
  }
  if (empty($_POST["gender"])) {
    $genderErr = "Jenis kelamin diperlukan";
  } else {
    $gender = test_input($_POST["gender"]);
  }
}
?>

PHP - Tampilkan Pesan Kesalahan

Pada formulir HTML, kami menambahkan beberapa skrip di belakang setiap bidang yang diminta. Jika diperlukan, pesan kesalahan yang sesuai akan dihasilkan (jika pengguna mencoba mengirim formulir tanpa mengisi bidang wajib):

Contoh

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Nama: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
<label>Komentar: <textarea name="comment" rows="5" cols="40"></textarea></label>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Perempuan
<input type="radio" name="gender" value="male">Laki-laki
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit"> 
</form>

Jalankan Instan

Berikutnya adalah verifikasi data input, yaitu “Apakah field Name hanya mengandung huruf dan spasi?”, serta “Apakah field E-mail mengandung sintaks alamat email yang valid?”, dan jika diisi field Website, “Apakah field ini mengandung URL yang valid?”.