Trong bài viết này, Ứng dụng free sẽ cùng các bạn tìm hiểu Biểu Mẫu PHP (PHP Form)
Mục lục bài viết
1.Xử lý biểu mẫu PHP
- Các superglobals trong PHP $ _GET và $ _POST được sử dụng để thu thập dữ liệu biểu mẫu.
- PHP – Một biểu mẫu HTML đơn giản
Ví dụ bên dưới hiển thị một HTML Form đơn giản với hai trường nhập và nút gửi:
Khi người dùng điền vào biểu mẫu ở trên và nhấp vào nút gửi, dữ liệu biểu mẫu sẽ được gửi để xử lý tới một tệp PHP có tên “welcome.php”. Dữ liệu biểu mẫu được gửi bằng phương thức HTTP POST.
- Để hiển thị dữ liệu đã gửi, bạn chỉ cần lặp lại tất cả các biến. “Welcome.php” trông như thế này:
- Đầu ra có thể là một cái gì đó như thế này:
- Kết quả tương tự cũng có thể đạt được bằng cách sử dụng phương thức HTTP GET:
và “welcome_get.php” trông như thế này:
⇒Đoạn mã trên khá đơn giản. Tuy nhiên, điều quan trọng nhất vẫn còn thiếu. Bạn cần xác thực dữ liệu biểu mẫu để bảo vệ tập lệnh của mình khỏi mã độc. Trang này không chứa bất kỳ xác thực biểu mẫu nào, nó chỉ hiển thị cách bạn có thể gửi và truy xuất dữ liệu biểu mẫu. Việc xác thực đúng cách dữ liệu biểu mẫu là điều quan trọng để bảo vệ biểu mẫu của bạn khỏi tin tặc và những kẻ gửi thư rác!
1.1GET vs. POST
- Cả GET và POST đều tạo ra một mảng (ví dụ: mảng (key1 => value1, key2 => value2, key3 => value3, …)). Mảng này chứa các cặp khóa / giá trị, trong đó các khóa là tên của các điều khiển biểu mẫu và giá trị là dữ liệu đầu vào từ người dùng.
- Cả GET và POST đều được coi là $ _GET và $ _POST. Đây là những superglobals, có nghĩa là chúng luôn có thể truy cập được, bất kể phạm vi – và bạn có thể truy cập chúng từ bất kỳ hàm, lớp hoặc tệp nào mà không cần phải làm bất kỳ điều gì đặc biệt.
- $ _GET là một mảng các biến được truyền cho tập lệnh hiện tại thông qua các tham số URL.
- $ _POST là một mảng các biến được truyền tới tập lệnh hiện tại thông qua phương thức HTTP POST.
Khi nào sử dụng GET?
- Thông tin được gửi từ biểu mẫu với phương thức GET được hiển thị cho tất cả mọi người (tất cả các tên biến và giá trị được hiển thị trong URL). GET cũng có giới hạn về số lượng thông tin cần gửi. Giới hạn là khoảng 2000 ký tự. Tuy nhiên, vì các biến được hiển thị trong URL, nên có thể đánh dấu trang. Điều này có thể hữu ích trong một số trường hợp.
- GET có thể được sử dụng để gửi dữ liệu không nhạy cảm.
- Lưu ý: GET KHÔNG BAO GIỜ được sử dụng để gửi mật khẩu hoặc thông tin nhạy cảm khác!
Khi nào sử dụng POST?
- Thông tin được gửi từ biểu mẫu có phương thức POST là ẩn đối với những người khác (tất cả các tên / giá trị đều được nhúng trong nội dung của yêu cầu HTTP) và không có giới hạn về lượng thông tin cần gửi.
- Hơn nữa POST hỗ trợ chức năng nâng cao như hỗ trợ đầu vào nhị phân nhiều phần trong khi tải tệp lên máy chủ.
- Tuy nhiên, vì các biến không được hiển thị trong URL nên không thể đánh dấu trang.
- Các nhà phát triển thích POST để gửi dữ liệu biểu mẫu.
2.Xác thực biểu mẫu PHP
- Việc xác thực đúng cách dữ liệu biểu mẫu là điều quan trọng để bảo vệ biểu mẫu của bạn khỏi tin tặc và những kẻ gửi thư rác!
- Biểu mẫu HTML mà chúng ta sẽ làm việc trong các chương này, chứa các trường đầu vào khác nhau: trường văn bản bắt buộc và tùy chọn, nút radio và nút gửi:
Các quy tắc xác thực cho biểu mẫu trên như sau:
Text Fields
- The name, email, and website là các yếu tố nhập văn bản và trường nhận xét là một vùng văn bản. Mã HTML trông như thế này:
Radio Buttons
- Các trường giới tính là các radio buttons và HTML code trông giống như sau:
Phần tử biểu mẫu
- HTML code của biểu mẫu trông giống như sau:
⇒Khi biểu mẫu được gửi, dữ liệu biểu mẫu được gửi với method = “post”.
- Hàm htmlspecialchars () chuyển đổi các ký tự đặc biệt thành các thực thể HTML. Điều này có nghĩa là nó sẽ thay thế các ký tự HTML như <và> bằng & lt; và & gt ;. Điều này ngăn những kẻ tấn công khai thác mã bằng cách chèn mã HTML hoặc mã Javascript (Các cuộc tấn công Tập lệnh chéo trang web) trong các biểu mẫu.
- Biến $ _SERVER [“PHP_SELF”] là một biến siêu toàn cục trả về tên tệp của tập lệnh hiện đang thực thi. Có thể tránh khai thác $ _SERVER [“PHP_SELF”] bằng cách sử dụng hàm htmlspecialchars ().
Ví Dụ:
KẾT LUẬN: Trong bài viết này, chúng ta đã hiểu cách xử lý và xác thực biểu mẫu PHP. Tôi hy vọng bài viết này hữu ích cho bạn. Cảm ơn các bạn đã theo dõi bài viết!
170 lượt xem11/10/2022 Blog Tin Học