PHP $_POST là một biến siêu toàn cầu PHP được sử dụng để thu thập dữ liệu biểu mẫu sau khi gửi biểu mẫu HTML với method="post". $_POST cũng được sử dụng rộng rãi để chuyển các biến Show Ví dụ bên dưới hiển thị biểu mẫu có trường nhập và nút gửi. Khi người dùng gửi dữ liệu bằng cách nhấp vào "Gửi", dữ liệu biểu mẫu sẽ được gửi đến tệp được chỉ định trong thuộc tính hành động của Trong HTTP có hai cách để gửi tham số đến máy chủ. Sử dụng phương thức GET, các tham số nằm trong URL sau dấu ? . Sử dụng POST, các tham số được gửi trong phần thân của yêu cầu Theo đó PHP có hai cách riêng biệt để truy cập các tham số này. Thông qua các biến $_GET và $_POST Trong ví dụ này, chúng tôi có một đoạn mã HTML nhỏ giúp trình duyệt hiển thị một hộp nhập và một nút. Khi mở thẻ biểu mẫu, chúng tôi đã nói rõ ràng rằng chúng tôi muốn trình duyệt sử dụng phương thức GET để gửi tham số. Chúng tôi thực sự không phải đặt điều này một cách rõ ràng vì đây cũng là mặc định, nhưng theo cách này thì rõ ràng hơn Sau biểu mẫu HTML, có một đoạn mã PHP lấy một chuỗi và sử dụng. toán tử nối, nối giá trị nếu mảng kết hợp $_GET cho khóa "person_name". Chúng tôi đã sử dụng khóa này vì đây là "tên" của trường nhập liệu mà chúng tôi quan tâm ví dụ/php/get_params. php Nếu chúng tôi truy cập trang chúng tôi thấy Chữ "Xin chào" ở dưới cùng ở đó vì mã PHP của chúng tôi sẽ chạy bất kể điều gì. Vì vậy, ngay cả khi $_GET["person_name"] nó vẫn được hiển thị Khi chúng tôi nhập tên của mình (trong trường hợp này là "Foo") và nhấp vào nút "Echo", chúng tôi sẽ thấy rằng trang hiện hiển thị "Xin chào Foo" và chúng tôi cũng có thể thấy các tham số đã được chuyển trong URL có thể htmlspecialchars là gìHtmlspecialchars là gì và tại sao chúng ta cần nó? . Ví dụ: người dùng có thể nhập "". Nếu chúng tôi in lại các ký tự khi chúng tôi nhận được chúng, chúng tôi sẽ in lại. Tuy nhiên, điều đó sẽ vô hình vì trông giống như một thẻ HTML không xác định Nếu không có htmlspecialchars thì nó sẽ như thế này Bạn có thể thấy tham số trong URL, nhưng không phải trên trang Nếu chúng tôi nhấp vào "xem nguồn" cho trang này, chúng tôi sẽ thấy Như bạn có thể thấy trong nguồn, chúng tôi thấy văn bản khi chúng tôi nhập nhưng văn bản đó không hiển thị trên trang web Để đảm bảo trình duyệt có thể hiển thị mọi ký tự khi chúng tôi nhập chúng vào, chúng tôi cần gọi htmlspecialchars trên mọi giá trị chúng tôi nhận được từ người dùng Với htmlspecialchars nó sẽ như thế này hay còn gọi là. Những gì chúng tôi mong đợi Bây giờ nếu chúng ta nhìn vào nguồn của trang đó, chúng ta sẽ thấy điều này Chúng tôi đã nhận lại các chuỗi đặc biệt đại diện cho các ký tự nhỏ hơn và lớn hơn để trình duyệt của chúng tôi biết rằng nó phải hiển thị chúng thay vì diễn giải chúng dưới dạng HTML Để xem phương thức POST hoạt động như thế nào, chúng tôi đã thay đổi mã nguồn của tệp PHP ở hai vị trí từ GET thành POST. Ở dạng HTML và trong tên biến ví dụ/php/post_params. php Nếu chúng tôi xem trang bằng trình duyệt của mình, nó sẽ trông giống hệt như những gì chúng tôi đã có khi GET there. Sự khác biệt có thể được nhìn thấy sau khi chúng tôi nhập tên và nhấp vào "Echo" Trước khi trình duyệt gửi thông tin, nó sẽ mã hóa thông tin đó bằng cách sử dụng sơ đồ gọi là mã hóa URL. Trong sơ đồ này, các cặp tên/giá trị được nối với nhau bằng các dấu hiệu bằng nhau và các cặp khác nhau được phân tách bằng dấu và name1=value1&name2=value2&name3=value3 Dấu cách được xóa và thay thế bằng ký tự + và mọi ký tự không phải chữ và số khác được thay thế bằng giá trị thập lục phân. Sau khi thông tin được mã hóa, nó sẽ được gửi đến máy chủ Phương thức NHẬNPhương thức GET gửi thông tin người dùng đã mã hóa được thêm vào yêu cầu trang. Trang và thông tin được mã hóa được phân tách bằng dấu ? http://www.test.com/index.htm?name1=value1&name2=value2
Hãy thử ví dụ sau bằng cách đưa mã nguồn vào kiểm tra. tập lệnh php "; echo "You are ". $_GET['age']. " years old."; exit(); } ?> Name: Age: Nó sẽ tạo ra kết quả sau - Phương thức ĐĂNGPhương thức POST chuyển thông tin qua các tiêu đề HTTP. Thông tin được mã hóa như mô tả trong trường hợp của phương thức GET và đưa vào tiêu đề có tên QUERY_STRING
Hãy thử ví dụ sau bằng cách đưa mã nguồn vào kiểm tra. tập lệnh php "; echo "You are ". $_POST['age']. " years old."; exit(); } ?> Name: Age: Nó sẽ tạo ra kết quả sau - Biến $_REQUESTBiến PHP $_REQUEST chứa nội dung của cả $_GET, $_POST và $_COOKIE. Chúng ta sẽ thảo luận về biến $_COOKIE khi chúng ta giải thích về cookie Biến PHP $_REQUEST có thể được sử dụng để lấy kết quả từ dữ liệu biểu mẫu được gửi bằng cả hai phương thức GET và POST Làm cách nào để NHẬN các tham số yêu cầu POST trong PHP?PHP POST yêu cầu
. $message"; $name = $_POST['name']; if ($name == null) { $name = 'guest'; } $message = $_POST['message']; if ($message == null) { $message = 'hello there'; } echo "$name says: $message"; Ví dụ lấy thông số tên và thông báo từ biến $_POST. Chúng tôi bắt đầu máy chủ.
Làm cách nào để truy cập các biến POST trong PHP?Để nhận một yêu cầu POST trong PHP, chúng ta cần phải sử dụng biến siêu toàn cầu $_POST . Vì là biến toàn cục nên bạn có thể sử dụng biến $_POST trong bất kỳ phạm vi nào. Biến siêu toàn cầu $_POST là một mảng kết hợp gồm các biến chứa dữ liệu yêu cầu POST được gửi tới tập lệnh.
Làm cách nào để kiểm tra dữ liệu POST trong PHP?Kiểm tra các giá trị POST trong PHP . Kiểm tra xem có BẤT KỲ dữ liệu POST nào không. //Ghi chú. Điều này giải quyết là đúng ngay cả khi tất cả các giá trị $_POST là các chuỗi trống nếu (. trống($_POST)) { // xử lý dữ liệu bài viết $fromPerson = '+from%3A'. . Chỉ kiểm tra xem Khóa THAM GIA có sẵn trong dữ liệu bài đăng không $_ GET và $_ POST trong PHP là gì?$_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 . |