Biểu mẫu HTML chứa các trường đầu vào khác nhau như hộp văn bản, hộp kiểm, nút radio, nút gửi và danh sách kiểm tra, v.v. Thông tin được cung cấp bởi người dùng là hợp lệ và chính xác.
Không có gì đảm bảo rằng thông tin do người dùng cung cấp luôn đúng. PHP xác nhận dữ liệu ở phía máy chủ, được gửi bởi biểu mẫu HTML. Bạn cần xác nhận một vài điều:
- Chuỗi trống
- Xác thực chuỗi
- Xác nhận số
- Xác thực thư điện tử
- Xác thực URL
- Chiều dài đầu vào
Chuỗi trống
Xác thực chuỗi
Xác thực chuỗi
Xác nhận số
Xác thực thư điện tử
Xác thực URLFor example - Mobile no. If the Mobile no field does not receive numeric data from the user, the code will display an error message:
Xác thực thư điện tử
Xác thực URL
Chiều dài đầu vào
Mã bên dưới kiểm tra xem trường không trống. Nếu người dùng để lại trường bắt buộc, nó sẽ hiển thị thông báo lỗi. Đặt các dòng mã này để xác thực trường bắt buộc.
Mã bên dưới kiểm tra xem trường sẽ chỉ chứa bảng chữ cái và khoảng trắng, ví dụ - tên. Nếu trường tên không nhận được đầu vào hợp lệ từ người dùng, thì nó sẽ hiển thị thông báo lỗi:
Xác thực số
Xác thực URL
Chiều dài đầu vào
Mã bên dưới kiểm tra xem trường không trống. Nếu người dùng để lại trường bắt buộc, nó sẽ hiển thị thông báo lỗi. Đặt các dòng mã này để xác thực trường bắt buộc.
Mã bên dưới kiểm tra xem trường sẽ chỉ chứa bảng chữ cái và khoảng trắng, ví dụ - tên. Nếu trường tên không nhận được đầu vào hợp lệ từ người dùng, thì nó sẽ hiển thị thông báo lỗi:
Xác thực số
Mã dưới đây xác nhận rằng trường sẽ chỉ chứa một giá trị số. Ví dụ - di động không. Nếu trường di động Không nhận được dữ liệu số từ người dùng, mã sẽ hiển thị thông báo lỗi:
Một email hợp lệ phải chứa @ và. biểu tượng. PHP cung cấp các phương pháp khác nhau để xác nhận địa chỉ email. Ở đây, chúng tôi sẽ sử dụng các biểu thức thường xuyên để xác thực địa chỉ email.
Mã dưới đây xác thực địa chỉ email do người dùng cung cấp thông qua biểu mẫu HTML. Nếu trường không chứa địa chỉ email hợp lệ, thì mã sẽ hiển thị thông báo lỗi:
Xác thực độ dài đầu vào
Xác thực độ dài đầu vào hạn chế người dùng cung cấp giá trị giữa phạm vi được chỉ định, ví dụ - số điện thoại di động. Một số điện thoại di động hợp lệ phải có 10 chữ số.
Mã đã cho sẽ giúp bạn áp dụng xác thực độ dài trên đầu vào của người dùng: we have not used a database to store the data for registered users.
Chương này cho thấy cách xác nhận tên, e-mail và URL.
PHP - Tên xác thực
Mã dưới đây cho thấy một cách đơn giản để kiểm tra xem trường Tên chỉ chứa các chữ cái, dấu gạch ngang, dấu nháy đơn và khoảng trắng. Nếu giá trị của trường Tên không hợp lệ, thì hãy lưu trữ thông báo lỗi:
$ name = test_input [$ _ post ["name"]]; if [! preg_match ["/^[a-za-z- ']*$/", $ name]] {& nbsp; $ nameerr = "Chỉ các chữ cái và không gian trắng cho phép"; }
if [!preg_match["/^[a-zA-Z-' ]*$/",$name]] {
$nameErr = "Only letters and white space allowed";
}
Hàm preg_match [] tìm kiếm một chuỗi cho mẫu, trả về true nếu mẫu tồn tại và sai.
PHP - Xác thực e -mail
Cách dễ nhất và an toàn nhất để kiểm tra xem một địa chỉ email được hình thành tốt là sử dụng chức năng Filter_var [] của PHP.
Trong mã bên dưới, nếu địa chỉ e-mail không được hình thành tốt, thì hãy lưu trữ thông báo lỗi:
$ email = test_input [$ _ post ["email"]]; if [! filter_var [$ email, filter_validate_email]] {& nbsp; $ emailerr = "Định dạng email không hợp lệ"; }
if [!filter_var[$email, FILTER_VALIDATE_EMAIL]] {
$emailErr = "Invalid email format";
}
PHP - Xác thực URL
Mã bên dưới cho thấy một cách để kiểm tra xem cú pháp địa chỉ URL có hợp lệ không [biểu thức chính quy này cũng cho phép các dấu gạch ngang trong URL]. Nếu cú pháp địa chỉ URL không hợp lệ, thì hãy lưu trữ thông báo lỗi:
$ trang web = test_input [$ _ post ["trang web"]]; if [! preg_match ["/\ b [? :[ ?: https? | ftp]: \/\/| www \.] [ 9+&@#\/%? = ~ _ |!:,.;]*[-a-z0-9+&@#\/%= ~ _ |] & nbsp; $ trang weberr = "URL không hợp lệ"; }
if
[!preg_match["/\b[?:[?:https?|ftp]:\/\/|www\.][-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website]] {
$websiteErr = "Invalid URL";
}
PHP - Tên xác thực, e -mail và URL
Bây giờ, kịch bản trông như thế này:
Thí dụ
PHP - Xác thực e -mail
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if [$ _server ["request_method"] == "post"] {& nbsp; if [trống [$ _ post ["name"]]] {& nbsp; & nbsp; & nbsp; $ nameerr = "Tên là bắt buộc"; & nbsp; } other {& nbsp; & nbsp; & nbsp; $ name = test_input [$ _ post ["name"]]; & nbsp; & nbsp; & nbsp; // Kiểm tra nếu tên chỉ chứa các chữ cái và khoảng trắng & nbsp; & nbsp; & nbsp; if [! preg_match ["/^[a-za-z- ']*$/", $ name]] {& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; $ nameerr = "Chỉ các chữ cái và không gian trắng cho phép"; & nbsp; & nbsp; & nbsp; } & nbsp; }
if [empty[$_POST["name"]]] {
$nameErr = "Name is required";
} else {
$name = test_input[$_POST["name"]];
// check if name only contains letters and whitespace
if [!preg_match["/^[a-zA-Z-' ]*$/",$name]] {
$nameErr = "Only letters and white space allowed";
}
}
& nbsp; if [trống [$ _ post ["email"]]] {& nbsp; & nbsp; & nbsp; $ emailerr = "Email là bắt buộc"; & nbsp; } other {& nbsp; & nbsp; & nbsp; $ email = test_input [$ _ post ["email"]]; & nbsp; & nbsp; & nbsp; // Kiểm tra xem địa chỉ e-mail có được hình thành tốt & nbsp; & nbsp; & nbsp; if [! filter_var [$ email, filter_validate_email]] {& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; $ emailerr = "Định dạng email không hợp lệ"; & nbsp; & nbsp; & nbsp; } & nbsp; }
$emailErr = "Email is required";
} else {
$email = test_input[$_POST["email"]];
// check if e-mail address is well-formed
if [!filter_var[$email, FILTER_VALIDATE_EMAIL]] {
$emailErr = "Invalid email format";
}
}
& nbsp; if [trống [$ _ post ["trang web"]]] {& nbsp; & nbsp; & nbsp; $ trang web = ""; & nbsp; } other {& nbsp; & nbsp; & nbsp; $ trang web = test_input [$ _ post ["trang web"]]; & nbsp; & nbsp; & nbsp; // Kiểm tra xem cú pháp địa chỉ URL có hợp lệ không [biểu thức chính quy này cũng cho phép các dấu gạch ngang trong URL] & nbsp; & nbsp; & nbsp; if [! preg_match ["/\ b [? :[ ?: https? | ftp]: \/\/| www \.] [-a-z0-9+&@#\/%? = ~ _ |! :,.;]*[-a-z0-9+&@#\/%= ~ _ |]/i ", $ trang web]] {& nbsp; & nbsp; & nbsp; $ trang weberr = "URL không hợp lệ"; & nbsp; & nbsp; & nbsp; } & nbsp; }
$website = "";
}
else {
$website = test_input[$_POST["website"]];
// check if URL address syntax is valid [this regular expression also allows dashes in the URL]
if [!preg_match["/\b[?:[?:https?|ftp]:\/\/|www\.][-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website]] {
$websiteErr = "Invalid URL";
}
}
& nbsp; if [trống [$ _ post ["bình luận"]]] {& nbsp; & nbsp; & nbsp; $ bình luận = ""; & nbsp; } other {& nbsp; & nbsp; & nbsp; $ bình luận = test_input [$ _ post ["bình luận"]]; & nbsp; }
$comment = "";
} else {
$comment = test_input[$_POST["comment"]];
}
& nbsp; if [trống [$ _ post ["giới tính"]]] {& nbsp; & nbsp; & nbsp; $ giới tính = "Giới tính là bắt buộc"; & nbsp; } other {& nbsp; & nbsp; & nbsp; $ giới tính = test_input [$ _ post ["Giới tính"]]; & nbsp; }}?>
$genderErr = "Gender is required";
} else {
$gender = test_input[$_POST["gender"]];
}
}
?>
Chạy ví dụ »
Bước tiếp theo là chỉ ra cách ngăn biểu mẫu làm trống tất cả các trường đầu vào khi người dùng gửi biểu mẫu.