Đầu vào cho các tập lệnh PHP thường được chuyển đến chương trình bằng các biểu mẫu web. Biểu mẫu bao gồm các trường văn bản, nút radio, hộp kiểm, hộp bật lên, bảng cuộn và những thứ tương tự. Do đó, việc truy xuất thông tin đầu vào từ người dùng thường là quy trình gồm hai bước. bạn phải tạo một tài liệu HTML cung cấp các biểu mẫu để cho phép người dùng chuyển thông tin đến máy chủ và mã PHP của bạn phải có phương tiện để phân tích dữ liệu đầu vào và xác định hành động cần thực hiện. Chúng ta sẽ thảo luận ngắn gọn về hai chủ đề trong các phần sau
Biểu mẫu HTML
Biểu mẫu được chỉ định trong tài liệu HTML bằng thẻ biểu mẫu điền vào
.. Contents of the form ...
URL được cung cấp sau ACTION là URL của chương trình của bạn. PHƯƠNG PHÁP là phương tiện chuyển dữ liệu từ biểu mẫu sang chương trình. Trong ví dụ này, chúng tôi đã sử dụng phương pháp "POST", đây là phương pháp được đề xuất. Có một phương pháp khác gọi là "GET", nhưng có những vấn đề phổ biến liên quan đến phương pháp này. Cả hai sẽ được thảo luận trong phần tiếp theo
Trong biểu mẫu, bạn có thể có bất kỳ thứ gì ngoại trừ biểu mẫu khác. Các thẻ được sử dụng để tạo các đối tượng giao diện người dùng là INPUT, SELECT và TEXTAREA
Thẻ INPUT chỉ định một giao diện đầu vào đơn giản
Cái nào sẽ tạo ra những điều sau đây
Các thuộc tính khác nhau chủ yếu là tự giải thích. LOẠI là sự đa dạng của đối tượng đầu vào mà bạn đang trình bày. Các loại hợp lệ bao gồm "văn bản", "mật khẩu", "hộp kiểm", "radio", "gửi", "đặt lại" và "ẩn". Mọi đầu vào ngoại trừ "gửi" và "đặt lại" đều có một TÊN sẽ được liên kết với giá trị được trả về trong đầu vào của chương trình. Điều này sẽ không hiển thị cho người dùng [trừ khi họ đọc nguồn HTML]. Các trường khác sẽ được giải thích với các loại
"văn bản" - đề cập đến một trường nhập văn bản đơn giản. GIÁ TRỊ đề cập đến văn bản mặc định trong trường văn bản, SIZE biểu thị độ dài trực quan của trường và MAXLENGTH biểu thị số lượng ký tự tối đa mà trường văn bản sẽ cho phép. Có các giá trị mặc định cho tất cả những thứ này [không có gì, 20, không giới hạn]
"mật khẩu" - giống như trường nhập văn bản bình thường, nhưng các ký tự đã nhập bị che khuất
"hộp kiểm" - đề cập đến nút chuyển đổi bật hoặc tắt độc lập. GIÁ TRỊ đề cập đến chuỗi được gửi đến máy chủ khi nút được chọn [các hộp không được chọn sẽ bị bỏ qua]. Giá trị mặc định là "bật"
"radio" - dùng để chỉ nút chuyển đổi có thể được nhóm với các nút chuyển đổi khác sao cho chỉ một nút trong nhóm có thể bật. Về cơ bản, nó giống như hộp kiểm, nhưng bất kỳ nút radio nào có cùng thuộc tính NAME sẽ được nhóm với thuộc tính này
"gửi" và "đặt lại" - đây là các nút bấm ở dưới cùng của hầu hết các biểu mẫu mà bạn sẽ thấy để gửi hoặc xóa biểu mẫu. Những thứ này không bắt buộc phải có TÊN và GIÁ TRỊ đề cập đến nhãn trên nút. Tên mặc định lần lượt là "Gửi truy vấn" và "Đặt lại"
"hidden" - đầu vào này ẩn khi có liên quan đến giao diện người dùng [mặc dù đừng bị lừa khi nghĩ rằng đây là một loại tính năng bảo mật -- thật dễ dàng tìm thấy các trường "ẩn" bằng cách đọc qua nguồn tài liệu hoặc kiểm tra . Nó chỉ đơn giản là tạo một liên kết thuộc tính/giá trị mà không cần hành động của người dùng được chuyển một cách minh bạch khi biểu mẫu được gửi
Loại giao diện thứ hai là giao diện CHỌN, bao gồm menu bật lên và bảng cuộn. Dưới đây là ví dụ về cả hai
Cái nào sẽ cho chúng ta
Thuộc tính SIZE xác định xem đó là menu hay danh sách cuộn. Nếu là 1 hoặc không có, mặc định là menu bật lên. Nếu nó lớn hơn 1, thì bạn sẽ thấy một danh sách cuộn với các phần tử SIZE. Tùy chọn NHIỀU, buộc lựa chọn trở thành danh sách cuộn, biểu thị rằng có thể chọn nhiều hơn một giá trị [theo mặc định, chỉ có thể chọn một giá trị trong danh sách cuộn]
TÙY CHỌN ít nhiều tự giải thích -- nó cung cấp tên và giá trị của từng trường trong menu hoặc bảng cuộn và bạn có thể chỉ định trường nào được CHỌN theo mặc định
Loại giao diện cuối cùng là giao diện TEXTAREA
Như thường lệ, TÊN là tham chiếu tượng trưng mà đầu vào sẽ bị ràng buộc khi gửi tới chương trình. Các giá trị ROWS và COLS là kích thước hiển thị của trường. Bất kỳ số ký tự nào cũng có thể được nhập vào vùng văn bản
Văn bản mặc định của vùng văn bản được nhập giữa các thẻ. Khoảng trắng được cho là được tôn trọng [như giữa
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ý thành 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. Sự đón chào. php" trông như thế này
Chào mừng
Địa chỉ email của bạn là.
Đầu ra có thể là một cái gì đó như thế này
Chào mừng John
Địa chỉ email của bạn là john. doe@ví dụ. com
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
Thí dụ
Tên.
E-mail.
và "welcome_get. php" trông như thế này
Chào mừng
Địa chỉ email của bạn là.
Đoạn mã trên khá đơn giản. Tuy nhiên, điều quan trọng nhất 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
Hãy nghĩ về BẢO MẬT khi xử lý các biểu mẫu PHP
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
Tuy nhiên, các trang tiếp theo sẽ chỉ ra cách xử lý các biểu mẫu PHP có tính đến bảo mật. Xác thực đúng dữ liệu biểu mẫu là rất quan trọng để bảo vệ biểu mẫu của bạn khỏi tin tặc và kẻ gửi thư rác
NHẬN so với. BƯU KIỆN
Cả GET và POST đều tạo một mảng [e. g. mảng [key1 => value1, key2 => value2, key3 => value3,. ]]. Mảng này chứa các cặp khóa/giá trị, trong đó 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à các siêu toàn cầu, 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ỳ chức năng, lớp hoặc tệp nào mà không phải thực hiện bất kỳ điều gì đặc biệt
$_GET 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 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 thì sử dụng NHẬN?
Thông tin được gửi từ biểu mẫu bằng phương thức GET hiển thị cho mọi người [tất cả tên và giá trị biến được hiển thị trong URL]. GET cũng có giới hạn về lượng thông tin 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
Ghi chú. KHÔNG BAO GIỜ được sử dụng GET để gửi mật khẩu hoặc thông tin nhạy cảm khác
Khi nào thì sử dụng POST?
Thông tin được gửi từ một biểu mẫu có phương thức POST sẽ ẩn đối với những người khác [tất cả các tên/giá trị được nhúng trong phần 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 gửi
Ngoài ra, POST hỗ trợ chức năng nâng cao, chẳng hạn 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
Tiếp theo, hãy xem cách chúng tôi có thể xử lý biểu mẫu PHP theo cách an toàn
Bài tập PHP
Kiểm tra bản thân với các bài tập
Tập thể dục
Nếu biểu mẫu trong phần màu trắng bên dưới được gửi, làm thế nào bạn có thể, chào mừng. php, xuất giá trị từ trường "tên"?