phuong-thuc-get-post-trong-php

Phương thức GET & POST trong PHP

Có 2 phương thức để trình duyệt máy khách có thể gửi thông tin đến máy chủ web đó là:
– Phương thức GET
– Phương thức POST

Phương thức GET

Phương thức GET gửi thông tin từ trình duyệt máy khách cho máy chủ web thông qua URL của trang. Chúng được tách biệt với đường dẫn trang bằng dấu ?  và tham số có định dạng key=value , các tham số được nối với nhau bởi dấu như ví dụ sau:
https://tuhoclaptrinh.php?name1=value1&name2=value2

  • Phương thức GET sẽ tạo ra một chuỗi dài trong đường dẫn của trang cũng như trong thanh địa chỉ của trình duyệt.
  • Phương thức GET chỉ gửi được tối đa 1024 ký tự bao gồm đường dẫn trang.
  • Không gửi các thông tin cần được bảo mật bằng phương thức GET ví dụ như tên đăng nhập, mật khẩu, số tài khoản ngân hàng v.v. Vì chúng sẽ được hiển thị công khai trên đường dẫn trang.
  • Phương thức GET không thể gửi cái thông tin dạng hình ảnh, tập tin, v.v.
  • PHP cung cấp cho bạn biến môi trường $_GET để truy xuất các thông tin được gửi bằng phương thức GET.
<?php
   if($_GET['name'] && $_GET['age']) {
      echo "Chào mừng $_GET['name'] <br>";
      echo "Bạn $_GET['age'] tuổi.";
      
      exit();
   }
?>

<html>
   <body>
   
      <form action="<?php $_PHP_SELF ?>" method="GET">
         Tên: <input type="text" name="name" />
         Tuổi: <input type="text" name="age" />
         <input type="submit" />
      </form>
      
   </body>
</html>


Phương thức POST

Phương thức POST chuyển thông tin từ trình duyệt máy khách cho máy chủ web thông qua HTTP. Nên các thông tin gửi đi được mã hóa có tính bảo mật cao.

  • Phương thức POST không có bất kỳ hạn chế nào về kích thước dữ liệu được gửi.
  • Phương thức POST có thể được sử dụng để gửi hình ảnh, tập tin, v.v.
  • Dữ liệu được gửi bằng phương thức POST thông qua tiêu đề HTTP nên tính bảo mật phụ thuộc vào giao thức HTTP. Bằng cách sử dụng Secure HTTP, bạn có thể đảm bảo rằng thông tin của mình được bảo mật.
  • PHP cung cấp cho bạn biến môi trường $ _POST để truy cập tất cả thông tin đã gửi bằng phương thức POST.
<?php
   if($_POST['name'] && $_POST['age']) {
      echo "Chào mừng $_POST['name'] <br>";
      echo "Bạn $_POST['age'] tuổi.";
      
      exit();
   }
?>

<html>
   <body>
   
      <form action="<?php $_PHP_SELF ?>" method="POST">
         Tên: <input type="text" name="name" />
         Tuổi: <input type="text" name="age" />
         <input type="submit" />
      </form>
      
   </body>
</html>


Biến môi trường $_REQUEST

Biến $ _REQUEST trong PHP chứa nội dung của cả $ _GET, $ _POST và $ _COOKIE. Chúng ta sẽ tìm hiểu về biến $ _COOKIE trong bài viết tiếp theo.

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ả phương thức GET và POST.

<?php
   if($_REQUEST['name'] && $_REQUEST['age']) {
      echo "Chào mừng $_REQUEST['name'] <br>";
      echo "Bạn $_REQUEST['age'] tuổi.";
      
      exit();
   }
?>

<html>
   <body>
   
      <form action="<?php $_PHP_SELF ?>" method="POST">
         Tên: <input type="text" name="name" />
         Tuổi: <input type="text" name="age" />
         <input type="submit" />
      </form>
      
   </body>
</html>


Mời các bạn tìm hiểu tiếp về SESSION & COOKIE trong PHP ở bài viết tiếp theo nhé!