Formulir PHP - Bidang Wajib
Bab ini menunjukkan cara membuat kolom input diperlukan dan membuat pesan kesalahan jika diperlukan.
PHP - Bidang Wajib
Dari tabel aturan validasi pada halaman sebelumnya, kita melihat bahwa field "Name", "E-mail", dan "Gender" diperlukan. Kolom ini tidak boleh kosong dan harus diisi dalam formulir HTML.
Field | Validation Rules |
---|---|
Name | Required. + Must only contain letters and whitespace |
Required. + Must contain a valid email address (with @ and .) | |
Website | Optional. If present, it must contain a valid URL |
Comment | Optional. Multi-line input field (textarea) |
Gender | Required. Must select one |
Di bab sebelumnya, semua kolom input adalah opsional.
Dalam kode berikut kita telah menambahkan beberapa variabel baru: $nameErr, $emailErr, $genderErr, dan $websiteErr. Variabel kesalahan ini akan menyimpan pesan kesalahan untuk bidang yang diperlukan. Kami juga telah menambahkan if else
pernyataan untuk setiap variabel $_POST. Ini memeriksa apakah variabel $_POST kosong (dengan empty()
fungsi PHP). Jika kosong, pesan kesalahan disimpan dalam variabel kesalahan yang berbeda, dan jika tidak kosong, ia mengirimkan data input pengguna melalui test_input()
fungsi:
<?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
Kemudian dalam formulir HTML, kami menambahkan skrip kecil setelah setiap bidang yang diperlukan, yang menghasilkan pesan kesalahan yang benar jika diperlukan (yaitu jika pengguna mencoba mengirimkan formulir tanpa mengisi bidang yang diperlukan):
Contoh
<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>
Langkah selanjutnya adalah memvalidasi data masukan yaitu “Apakah kolom Nama hanya berisi huruf dan spasi?”, dan “Apakah kolom E-mail berisi sintaks alamat email yang valid?”, dan jika diisi, “ Apakah bidang Situs Web berisi URL yang valid?".