PHP Form Validation - Bidang wajib diisi
- Halaman Sebelumnya Pengesahan Borang PHP
- Halaman Berikutnya URL/E-mail Borang PHP
Bab ini menunjukkan bagaimana membuat bidang input wajib diisi, serta membuat pesan kesalahan yang digunakan saat diperlukan.
PHP - Bidang input
Dari aturan verifikasi di bab sebelumnya, kami melihat bahwa bidang "Name", "Email" serta "Gender" adalah diperlukan. Bidang ini tidak boleh kosong dan harus diisi di dalam formulir HTML.
Bidang | Aturan verifikasi |
---|---|
Nama | Diperlukan. Harus mengandung huruf dan spasi. |
Diperlukan. Harus mengandung alamat email yang valid (termasuk @ dan .). | |
Laman web | Opsional. Jika diisi, maka harus mengandung URL yang valid. |
Komentar | Opsional. Bidang input berbaris (kotak teks). |
Jantina | Diperlukan. Harus memilih salah satu. |
Dalam bab sebelumnya, semua bidang input adalah opsional.
Dalam kod di bawah ini, kami menambahkan beberapa variabel baru: $nameErr, $emailErr, $genderErr serta $websiteErr. Variabel kesalahan ini akan menyimpan pesan kesalahan bidang 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}} // Tentukan variabel dan atur nilai mereka menjadi 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 = "Jantina diperlukan"; } else { $gender = test_input($_POST["gender"]); } } ?>
PHP - Tampilkan Pesan Kesalahan
Dalam formulir HTML, kami menambahkan beberapa skrip di belakang setiap bidang yang diminta. Jika perlu, 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-mel: <input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> Laman Web: <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> Jantina: <input type="radio" name="gender" value="female">Wanita <input type="radio" name="gender" value="male">Lelaki <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>
Berikut adalah pengesahan data input, iaitu 'Adakah medan Nama hanya mengandungi huruf dan ruang?', serta 'Adakah medan E-mail mengandungi sintaks alamat e-mel yang sah?', dan jika medan Website diisi, 'Adakah medan ini mengandungi URL yang sah?'.
- Halaman Sebelumnya Pengesahan Borang PHP
- Halaman Berikutnya URL/E-mail Borang PHP