PHP Biểu mẫu xác thực - Trường bắt buộc
- Trang trước PHP biểu mẫu xác thực
- Trang tiếp theo PHP biểu mẫu URL/E-mail
Phần này trình bày cách tạo trường nhập bắt buộc và tạo thông báo lỗi cần thiết.
PHP - Trường nhập
Từ quy tắc xác thực trong phần trước, chúng ta thấy rằng các trường "Name", "E-mail" và "Gender" là bắt buộc. Các trường này không thể để trống và phải được điền trong biểu mẫu HTML.
Trường | Quy tắc xác thực |
---|---|
Tên | Bắt buộc. Phải chứa chữ cái và khoảng trống. |
Bắt buộc. Phải chứa địa chỉ email hợp lệ (bao gồm @ và .). | |
Website | Tùy chọn. Nếu bạn điền, thì phải chứa URL hợp lệ. |
Phản hồi | Tùy chọn. Trường nhập nhiều dòng (text box). |
Giới tính | Bắt buộc. Bạn phải chọn một mục. |
Trong phần trước, tất cả các trường nhập đều là tùy chọn.
Trong đoạn mã dưới đây, chúng ta đã thêm một số biến mới: $nameErr, $emailErr, $genderErr và $websiteErr. Các biến lỗi này sẽ lưu trữ các thông báo lỗi của trường yêu cầu. Chúng ta cũng đã thêm một câu lệnh if else cho mỗi biến $_POST. Câu lệnh này kiểm tra biến $_POST có rỗng không (qua hàm PHP empty()). Nếu rỗng, thông báo lỗi sẽ được lưu trữ trong các biến lỗi khác nhau. Nếu không rỗng, dữ liệu đầu vào của người dùng sẽ được gửi qua hàm test_input():
<?php}} // Định nghĩa biến và đặt giá trị rỗng $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Tên là bắt buộc"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "Email là bắt buộc"; } 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 = "Giới tính là bắt buộc"; } else { $gender = test_input($_POST["gender"]); } } ?>
PHP - Hiển thị thông báo lỗi
Trong biểu mẫu HTML, chúng ta thêm một đoạn mã vào sau mỗi trường yêu cầu. Nếu cần, sẽ tạo ra thông báo lỗi thích hợp (nếu người dùng không điền trường bắt buộc và cố gắng gửi biểu mẫu):
Ví dụ
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Tên: <input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> Email: <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>Ý kiến: <textarea name="comment" rows="5" cols="40"></textarea> <br><br> Giới tính: <input type="radio" name="gender" value="female">Nữ <input type="radio" name="gender" value="male">Nam <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>
Tiếp theo là việc xác thực dữ liệu nhập vào, tức là “Tên trường có chỉ chứa chữ cái và khoảng trống không?”, và “Email trường có chứa cú pháp địa chỉ email hợp lệ không?”, và nếu đã填写 Website trường, “Trường này có chứa URL hợp lệ không?”.
- Trang trước PHP biểu mẫu xác thực
- Trang tiếp theo PHP biểu mẫu URL/E-mail