Tóm lược. 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
Sau đây 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ẻ kèm theo tương ứng với các thẻ mở trong tệpCode language: HTML, XML [xml]
Subscribe
2Code language: HTML, XML [xml]
Subscribe
Code language: HTML, XML [xml]
mục lục. php
Tệp
8 chứa logic chính của biểu mẫu
Subscribe
Code language: HTML, XML [xml]
Code language: HTML, XML [xml]
] - Find the message sent from webmaster@phptutorial.net Click to confirm - Click on the link in the email to confirm your subscription.
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
Code language: JavaScript [javascript]
const NAME_REQUIRED = 'Please enter your name'; const EMAIL_REQUIRED = 'Please enter your email'; const EMAIL_INVALID = 'Please enter a valid email';
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
3Code language: HTML, XML [xml]
Code language: PHP [php]
// sanitize and validate name $name = filter_input[INPUT_POST, 'name', FILTER_SANITIZE_STRING]; $inputs['name'] = $name; if [$name] { $name = trim[$name]; if [$name === ''] { $errors['name'] = NAME_REQUIRED; } } else { $errors['name'] = NAME_REQUIRED; }
Thứ ba, làm sạch và xác thực email bằng các chức năng
Code language: HTML, XML [xml]
Thanks for your subscription! Please follow the steps below to complete your subscription: Check your email [] - Find the message sent from webmaster@phptutorial.net Click to confirm - Click on the link in the email to confirm your subscription.
Để 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