Truy cập đầu vào của người dùng trong php

Đầ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.



Run Example »

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"?

PHP có thể lấy đầu vào của người dùng không?

Đầu vào cho tập lệnh PHP thường được chuyển đến chương trình bằng 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ự.

Làm cách nào tôi có thể truy cập dữ liệu biểu mẫu trong PHP?

Cách truy xuất dữ liệu biểu mẫu được gửi qua GET. Khi bạn gửi một biểu mẫu thông qua phương thức GET, PHP cung cấp một biến siêu toàn cầu, được gọi là $_GET . PHP sử dụng biến $_GET này để tạo một mảng kết hợp với các khóa để truy cập tất cả thông tin đã gửi [dữ liệu biểu mẫu]. Các khóa được tạo bằng cách sử dụng các giá trị thuộc tính tên của phần tử.

Stdin PHP là gì?

Luồng tiêu chuẩn . //stdin, php. // thiết bị xuất chuẩn và php. //stderr cho phép truy cập trực tiếp vào thiết bị luồng đầu vào tiêu chuẩn , luồng đầu ra tiêu chuẩn và luồng lỗi tương ứng với quy trình PHP. Các hằng số được xác định trước STDIN, STDOUT và STDERR tương ứng đại diện cho các luồng này.

Chủ Đề