Home » PHP » Form Required di PHP : Kode dan Contohnya

Form Required di PHP : Kode dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Kali ini kita akan mempelajari cara membuat kolom input required dan membuat pesan kesalahan jika diperlukan.

PHP – Form Required

Dari tabel aturan validasi di halaman sebelumnya, kita melihat bahwa kolom “Nama”, “E-mail”, dan “Gender” harus diisi. Form ini tidak boleh kosong dan harus diisi dalam bentuk HTML.

FieldAturan Validasi
NameRequired. + Hanya boleh berisi huruf dan spasi
E-mailRequired. + Harus berisi alamat email yang valid (with @ dan.)
WebsiteOptional. Jika ada, itu harus berisi URL yang valid
CommentOptional. Bidang masukan multi-baris (area teks)
GenderRequired. Harus memilih satu

Dalam kode berikut kita telah menambahkan beberapa variabel baru: $nameErr, $emailErr, $genderErr dan $websiteErr. Variabel kesalahan ini akan menyimpan pesan kesalahan untuk field yang wajib diisi. Kita juga akan menambahkan pernyataan if else untuk setiap variabel $_POST. Hal ini memeriksa apakah variabel $_POST kosong (dengan fungsi PHP empty()). Jika kosong, pesan kesalahan disimpan dalam variabel kesalahan yang berbeda dan jika tidak kosong, pesan ini akan mengirimkan data masukan pengguna melalui fungsi test_input():

<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Name is required";
  } else {
    $name = test_input($_POST["name"]);
  }

  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } 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 = "Gender is required";
  } else {
    $gender = test_input($_POST["gender"]);
  }
}
?>

PHP – Menampilkan Pesan Kesalahan

Sekarang kita akan menambahkan sedikit skrip setelah setiap field yang diperlukan, yang menghasilkan pesan kesalahan yang benar jika diperlukan (yaitu jika pengguna mencoba mengirimkan formulir tanpa mengisi field yang diperlukan/required):

Contoh :

<!DOCTYPE HTML>  
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>  

<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Name is required";
  } else {
    $name = test_input($_POST["name"]);
  }
  
  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } 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 = "Gender is required";
  } else {
    $gender = test_input($_POST["gender"]);
  }
}

function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>

<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
  Name: <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>
  Comment: <textarea name="comment" rows="5" cols="40"></textarea>
  <br><br>
  Gender:
  <input type="radio" name="gender" value="female">Female
  <input type="radio" name="gender" value="male">Male
  <input type="radio" name="gender" value="other">Other
  <span class="error">* <?php echo $genderErr;?></span>
  <br><br>
  <input type="submit" name="submit" value="Submit">  
</form>

<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>

You may also like