Bản tóm tắt. trong hướng dẫn này, bạn sẽ tìm hiểu về xác thực biểu mẫu PHP, cách xác thực dữ liệu biểu mẫu và cách hiển thị thông báo lỗi nếu thông tin nhập của người dùng không hợp lệ
Giới thiệu về xác thực biểu mẫu PHP
Khi xử lý một biểu mẫu, điều quan trọng là phải xác thực đầu vào của người dùng để đảm bảo rằng dữ liệu ở định dạng hợp lệ
Có hai loại xác thực. phía máy khách và phía máy chủ
Xác thực phía máy khách được thực hiện trong trình duyệt web của người dùng. Để xác thực dữ liệu ở phía máy khách, bạn có thể sử dụng xác thực HTML5 hoặc JavaScript. Xác thực phía máy khách nhằm mục đích hỗ trợ người dùng hợp pháp nhập dữ liệu ở định dạng hợp lệ trước khi gửi tới máy chủ
Tuy nhiên, xác thực phía máy khách không ngăn người dùng độc hại gửi dữ liệu có khả năng khai thác ứng dụng
Xác thực phía máy chủ xác thực dữ liệu trong máy chủ web bằng PHP. Để xác thực dữ liệu trong PHP, bạn có thể sử dụng hàm
0 vàCode language: HTML, XML [xml]
Subscribe
1Code language: HTML, XML [xml]
Subscribe
Ví dụ xác thực biểu mẫu PHP
Chúng tôi sẽ xây dựng một biểu mẫu đăng ký email bao gồm tính năng xác thực. Biểu mẫu có các thành phần đầu vào tên và email và nút gửi
Nếu bạn không nhập tên và/hoặc email và nhấp vào nút đăng ký, biểu mẫu sẽ hiển thị thông báo lỗi. Ngoài ra, nếu bạn nhập địa chỉ email không hợp lệ, biểu mẫu sẽ hiển thị một thông báo lỗi khác
Lưu ý rằng chúng tôi không sử dụng xác thực phía máy khách cho biểu mẫu này để giúp kiểm tra dễ dàng hơn. Trong thực tế, bạn cũng nên sử dụng xác thực phía máy khách
Sắp xếp thư mục và tập tin
Đầu tiên, tạo cấu trúc tệp và thư mục như sau
Code language: plaintext [plaintext]
. ├── css │ └── style.css ├── inc │ ├── get.php │ ├── post.php │ ├── header.php │ ├── footer.php │ └── .htaccess └── index.php
Bảng sau đây mô tả mục đích của từng tệp
FileDirectoryDescriptionindex. php. Chứa logic chính của formheader. phpincChứa codefooter tiêu đề. phpincChứa bộ mã chân trang. phpincChứa formpost đăng ký email. phpincChứa mã để xử lý kiểu gửi biểu mẫu. csscssChứa mã CSStiêu đề. php
Phần sau hiển thị tệp
2Code language: HTML, XML [xml]
Subscribe
Subscribe
Code language: HTML, XML [xml]
Tệp
2 liên kết với tệpCode language: HTML, XML [xml]
Subscribe
4 trong thư mụcCode language: HTML, XML [xml]
Subscribe
5Code language: HTML, XML [xml]
Subscribe
cuối trang. php
Và tệp
6 chỉ chứa các thẻ đóng tương ứng với các thẻ mở trong tệpCode language: HTML, XML [xml]
Subscribe
2Code language: HTML, XML [xml]
Subscribe
0Code language: HTML, XML [xml]
Subscribe
mục lục. php
Tệp
8 chứa logic chính của biểu mẫuCode language: HTML, XML [xml]
Subscribe
2Code language: HTML, XML [xml]
Subscribe
Cách thức hoạt động của
8Code language: HTML, XML [xml]
Subscribe
Đầu tiên, tải mã từ cả hai tệp
2 vàCode language: HTML, XML [xml]
Subscribe
6 bằng cách sử dụng cấu trúcCode language: HTML, XML [xml]
Subscribe
02 ở đầu và cuối tệp để tạo đầu trang và chân trangCode language: HTML, XML [xml]
Subscribe
Thứ hai, xác định mảng
03 để lưu trữ các thông báo lỗi và mảng
Subscribe
Code language: HTML, XML [xml]
04 để lưu trữ các giá trị biểu mẫu đã nhập. Nếu một phần tử đầu vào có dữ liệu không hợp lệ, thìCode language: HTML, XML [xml]
Subscribe
8 sẽ hiển thị giá trị đã nhập được lưu trữ trongCode language: HTML, XML [xml]
Subscribe
04Code language: HTML, XML [xml]
Subscribe
Thứ ba, hiển thị biểu mẫu nếu phương thức yêu cầu HTTP là GET bằng cách tải get. tập tin php. Sau khi bạn vào
Cuối cùng, tải mã trong
07 để xử lý việc gửi biểu mẫu nếu phương thức yêu cầu HTTP là POST. Nếu biểu mẫu có bất kỳ lỗi nào, thìCode language: HTML, XML [xml]
Subscribe
03 sẽ không trống. Trong trường hợp này, hãy hiển thị lại biểu mẫu với các thông báo lỗi được lưu trong mảngCode language: HTML, XML [xml]
Subscribe
03 và các giá trị đã nhập được lưu trong mảngCode language: HTML, XML [xml]
Subscribe
04Code language: HTML, XML [xml]
Subscribe
lấy. php
Tệp
21 chứa biểu mẫuCode language: HTML, XML [xml]
Subscribe
6Code language: plaintext [plaintext]
. ├── css │ └── style.css ├── inc │ ├── get.php │ ├── post.php │ ├── header.php │ ├── footer.php │ └── .htaccess └── index.php
Cách thức hoạt động của
21Code language: HTML, XML [xml]
Subscribe
- Đầu tiên, hãy điền các phần tử đầu vào tên và email bằng các giá trị đã nhập được lưu trữ trong mảng
04 chỉ khi các giá trị này tồn tại
Code language: HTML, XML [xml]Subscribe
- Thứ hai, hiển thị các thông báo lỗi được lưu trữ trong mảng
03 nếu chúng tồn tại
Code language: HTML, XML [xml]Subscribe
bưu kiện. php
Sau đây hiển thị mã của tệp
07.
Subscribe
Code language: HTML, XML [xml]
07 xác thực dữ liệu biểu mẫu bằng cách sử dụng các hàmCode language: HTML, XML [xml]
Subscribe
27 vàCode language: HTML, XML [xml]
Subscribe
28Code language: HTML, XML [xml]
Subscribe
4Code language: HTML, XML [xml]
Subscribe
Làm thế nào nó hoạt động
Đầu tiên, xác định một số hằng số để lưu trữ các thông báo lỗi. Trong một ứng dụng trong thế giới thực, bạn có thể lưu trữ tất cả các tin nhắn trong một tệp riêng biệt
5Code language: HTML, XML [xml]
Subscribe
Thứ hai, làm sạch và xác thực tên bằng hàm filter_input[]. Nếu tên trống, hãy thêm thông báo lỗi vào mảng
03Code language: HTML, XML [xml]
Subscribe
7Code language: HTML, XML [xml]
Subscribe
Thứ ba, làm sạch và xác thực email bằng các chức năng
27 vàCode language: HTML, XML [xml]
Subscribe
28. Nếu email trống hoặc không hợp lệ, hãy thêm thông báo lỗi tương ứng vào mảngCode language: HTML, XML [xml]
Subscribe
03Code language: HTML, XML [xml]
Subscribe
1Code language: HTML, XML [xml]
Subscribe
Cuối cùng nếu form không có lỗi thì hiện thông báo xác nhận
2Code language: HTML, XML [xml]
Subscribe
Để hoàn thành biểu mẫu, bạn có thể lưu dữ liệu liên hệ vào cơ sở dữ liệu hoặc gọi API của dịch vụ tiếp thị qua email để thêm liên hệ vào danh sách của bạn