Phương Thức GET Và POST - Lập Trình PHP
Có thể bạn quan tâm
- Trang chủ
- Lập trình PHP
- Phương thức GET và POST
Trong hướng dẫn này, bạn sẽ học cách gửi thông tin đến máy chủ bằng phương thức HTTP GET và POST và nhận dữ liệu bằng PHP.
Phương thức gửi thông tin đến máy chủ
Một trình duyệt web giao tiếp với máy chủ thường sử dụng một trong hai phương thức HTTP (Giao thức truyền siêu văn bản) - GET và POST. Cả hai phương thức truyền thông tin khác nhau và có những ưu điểm và nhược điểm khác nhau, như được mô tả bên dưới.
Phương thức GET
Trong phương thức GET, dữ liệu được gửi dưới dạng tham số URL thường là các chuỗi cặp giá trị và tên được phân tách bằng dấu và (&). Nói chung, một URL có dữ liệu GET sẽ giống như sau:
http://www.example.com/action.php?name=john&age=24Các phần in đậm trong URL là các tham số GET và các phần in nghiêng là giá trị của các tham số đó. Có thể nhiều hơn một parameter=value được nhúng vào URL bằng cách nối với ký hiệu và (&). Người ta chỉ có thể gửi dữ liệu văn bản đơn giản thông qua phương thức GET.
Ưu điểm và nhược điểm của việc sử dụng phương thức GET
- Vì dữ liệu được gửi bởi phương thức GET được hiển thị trong URL, nên có thể đánh dấu trang bằng các giá trị chuỗi truy vấn cụ thể.
- Phương thức GET không phù hợp để chuyển thông tin nhạy cảm như tên người dùng và mật khẩu, vì chúng hiển thị đầy đủ trong chuỗi truy vấn URL cũng như có khả năng được lưu trữ trong bộ nhớ của trình duyệt máy khách dưới dạng trang đã truy cập.
- Vì phương thức GET chỉ định dữ liệu cho một biến môi trường máy chủ, độ dài của URL bị giới hạn. Vì vậy, có một giới hạn cho tổng dữ liệu được gửi.
PHP cung cấp biến superglobal $_GET để truy cập tất cả thông tin được gửi qua URL hoặc được gửi qua biểu mẫu HTML bằng cách sử dụng method="get".
Ví dụ
<!DOCTYPE html> <html lang="en"> <head> <title>Example of PHP GET method</title> </head> <body> <?php if(isset($_GET["name"])){ echo "<p>Hi, " . $_GET["name"] . "</p>"; } ?> <form method="get" action="<?php echo $_SERVER["PHP_SELF"];?>"> <label for="inputName">Name:</label> <input type="text" name="name" id="inputName"> <input type="submit" value="Submit"> </form> </body>Phương thức POST
Trong phương thức POST, dữ liệu được gửi đến máy chủ dưới dạng một gói trong một giao tiếp riêng biệt với tập lệnh xử lý. Dữ liệu được gửi qua phương thức POST sẽ không hiển thị trong URL.
Ưu điểm và nhược điểm của việc sử dụng phương thức POST
- Nó an toàn hơn GET vì thông tin do người dùng nhập không bao giờ hiển thị trong chuỗi truy vấn URL hoặc trong nhật ký máy chủ.
- Có một giới hạn lớn hơn nhiều về số lượng dữ liệu có thể được truyền và người ta có thể gửi dữ liệu văn bản cũng như dữ liệu nhị phân (tải lên tệp) bằng cách sử dụng POST.
- Vì dữ liệu được gửi bởi phương thức POST không hiển thị trong URL, vì vậy không thể đánh dấu trang có truy vấn cụ thể.
Giống như $_GET, PHP cung cấp một biến superglobal khác $_POST để truy cập vào tất cả thông tin được gửi qua phương thức bưu điện hoặc được gửi qua biểu mẫu HTML bằng cách sử dụng method="post".
Ví dụ
<!DOCTYPE html> <html lang="en"> <head> <title>Example of PHP POST method</title> </head> <body> <?php if(isset($_POST["name"])){ echo "<p>Hi, " . $_POST["name"] . "</p>"; } ?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>"> <label for="inputName">Name:</label> <input type="text" name="name" id="inputName"> <input type="submit" value="Submit"> </form> </body>Biến $_REQUEST
PHP cung cấp một biến superglobal khác $_REQUEST chứa các giá trị của cả biến $_GET và $_POST cũng như các giá trị của biến superglobal $_COOKIE.
Ví dụ
<!DOCTYPE html> <html lang="en"> <head> <title>Example of PHP $_REQUEST variable</title> </head> <body> <?php if(isset($_REQUEST["name"])){ echo "<p>Hi, " . $_REQUEST["name"] . "</p>"; } ?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>"> <label for="inputName">Name:</label> <input type="text" name="name" id="inputName"> <input type="submit" value="Submit"> </form> </body>Bạn sẽ tìm hiểu thêm về cookie PHP và xử lý biểu mẫu trong phần nâng cao.
Ghi chú: Các biến superglobal $_GET, $_POST và $_REQUEST được tích hợp theo các biến mà luôn luôn có sẵn trong tất cả các phạm vi suốt mã nguồn PHP của bạn.
Bài viết này đã giúp ích cho bạn?
Có Không Trang trước Trang sau AdvertisementsTừ khóa » Get Và Post Trong Php
-
Tìm Hiểu GET Và POST Trong PHP - Viblo
-
Bài 19: Phương Thức GET Và POST Trong Php - Freetuts
-
Phương Thức GET Và POST Trong PHP 2021 | Ironhack Việt Nam
-
Bài 12: Phương Thức GET Và POST Trong PHP
-
Tìm Hiểu Về GET Và POST Trong PHP Qua Ví Dụ Form Submit
-
Tìm Hiểu Về Phương Thức $_POST Trong PHP Từ A - Z - DevPro
-
Phương Thức Get Và Post Trong PHP - Lập Trình Từ Đầu
-
Phương Thức Get Và Post Trong Php - Freetuts
-
Phương Thức GET Và POST Trong PHP - Quách Quỳnh
-
Phương Thức GET Và POST Trong PHP
-
Bài 13: Phương Thức GET Và POST Trong PHP - Tân Hồng IT
-
Phương Thức Truyền Dữ Liệu POST, GET Trong PHP
-
PHP _GET Và _POST | Hướng Dẫn Học PHP | Học Web Chuẩn
-
So Sánh Sự Giống Và Khác Nhau Giữa GET Và POST - Hoclaptrinh