[Bài 11] PHP Cơ Bản - Xử Lý Form trong PHP - Nội dung bài học gồm có: Form PHP - HTML Cơ Bản, GET và POST, Khi Nào Sử Dụng GET, Khi Nào Dùng POST.
Biến $_GET và $_POST được sử dụng để thu thập dữ liệu từ form.
1. Form PHP - HTML Cơ Bản
Ví dụ
Trình bày một form HTML cơ bản với 2 ô input và một nút submit:
Khi người dùng điền vào form trên và ấn vào nút submit, dữ liệu được gửi đi và được xử lý thành file PHP bằng phương thức HTTP POST, file có tên là "devpro.php".
Để hiển thị dữ liệu đã gửi bạn có thể echo các biến.
File "devpro.php" như sau:
Dữ liệu có thể được hiển thị như sau:
Xin chao Devpro Việt Nam
Dia chi email cua ban la:develop@devpro.com
Có thể có cùng kết quả khi sử dụng phương thức HTTP GET:
Ví dụ:
Đoạn code ở trên khá đơn giản. Tuy nhiên, để tạo thành một form hoàn chỉnh và có bảo mật thì vẫn chưa đủ. Bạn cần form validation để bảo vệ câu lệnh khỏi các mã độc.
Chú ý: Bài học này không có form validation mà chỉ hướng dẫn cách gửi và truy xuất dữ liệu. Tuy nhiên, ở những bài học tiếp theo sẽ hướng dẫn form validation để bảo vệ form khỏi hackers và spammers!
Cả GET và POST đều tạo ra mảng. (Ví dụ mảng(key1 => giaTri1, key2 => giaTri2, key3 => giaTri3, ...)). Các key/giaTri tồn tại theo cặp. Trong đó key là tên của trường trong form, còn giaTri là dữ liệu do người dùng điền vào thẻ input.
GET và POST cũng được xem như là $_GET và $_POST. Chúng là những superglobals, nghĩa là chúng luôn được truy cập trong bất kể phạm vi nào, và bạn có thể truy cập chứng từ bất kỳ hàm, lớp hay một file nào đó mà không cần làm thêm thao tác phụ nào khác.
$_GET là một mảng các biến được gửi đến tập lệnh hiện tại thông qua URL.
$_POST là một mảng các biến được gửi đến tập lệnh hiện tại thông qua phương thức HTTP POST.
Tất cả mọi người có thể thấy dữ liệu được gửi từ form khi dùng phương thức GET(tất cả tên các biến, giá trị được hiển thị trên URL). GET cũng giới hạn dữ liệu gửi đi, khoảng 2000 kí tự. Tuy nhiên, vì các biến hiển thị trên URL nên bạn có thể đánh dấu trang. Việc này rất hữu dụng trong một số trường hợp.
GET có thể được sử dụng cho việc gửi những dữ liệu không nhạy cảm.
Chú ý: KHÔNG nên sử dụng GET vào việc gửi mật khẩu hay các thông tin nhạy cảm khác!
Dữ liệu được gửi từ form với phương thức POST thì không hiển thị với người dùng khác (tất cả tên hay giá trị được nhúng trong phần body của HTTP) và cũng không giới hạn lượng dữ liệu gửi tới.
Hơn nữa POST hỗ trợ chức năng nâng cao như hỗ trợ như upload nhiều file lên server.
Tuy nhiên, bởi vì các biến không được hiển thị trên URL nên không thể đánh dấu trang.
Bài học PHP tiếp theo: