Thứ Sáu, 2 tháng 3, 2018

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

22:06 Posted by Unknown No comments



Học lập trình PHP

Có 2 cách để Client có thể gửi thông tin cho Web Server:

 

  • Phương thức GET
  • Phương thức POST


Trước khi trình duyệt gửi thông tin, nó mã hóa nó bởi dùng một giản đồ gọi là URL encoding. Trong giản đồ này, các cặp name/value được phối hợp với kí hiệu = và các cặp khác nhau được phân tích nhau bởi dấu &.
 

 

name1=value1&name2=value2&name3=value3


Các khoảng trống được xóa bỏ, thay thế bằng kí tự + và bất kì kí tự không phải dạng số và chữ được thay thế bằng giá trị hexa. Sau khi thông báo được mã hóa, nó sẽ được gửi lên Server.
Phương thức GET trong PHP

Phương thức GET gửi thông báo người dùng đã được mã hóa được phụ thêm vào đề nghị trang. Trang và thông báo mã hóa được phân tích nhau bởi kí tự hỏi chấm (?).

http://www.test.com/index.htm?name1=value1&name2=value2

 


Phương thức GET tạo ra một chuỗi kí tự dài xuất hiện trong Server log của bạn, trong Location: box của trình duyệt.

Phương thức GET được giới hạn gửi tối đa chỉ 1024 ký tự.

Không bao giờ dùng phương thức GET nếu gửi password hoặc thông báo nhay cảm lên Server.

GET không thể gửi dữ liệu nhị phân, ví dụ như hình ảnh hoặc tài liệu word lên Server.

Dữ liệu gửi bởi phương thức GET có thể được truy cập bằng cách dùng biến môi trường QUERY_STRING.

PHP cung cấp mảng liên hiệp $_GET để truy cập thảy các thông tin đã được gửi bởi phương thức GET.

Bạn thử ví dụ sau bằng việc đặt source code sau đây vào test.php script:

 

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

php $_PHP_SELF ?>" method="GET"> Họ tên: type="text" name="name" /> Tuổi: type="text" name="age" /> type="submit" />

PHP code trên sẽ cho kết quả:


Phương thức POST trong PHP

Phương thức POST truyền thông tin duyệt y HTTP header. thông báo này được mã hóa như bộc lộ trong trường hợp của phương thức GET và đặt vào một header được gọi là QUERY_STRING.


Phương thức POST không có bất hạn vận chế nào về kích thước dữ liệu sẽ gửi.


Phương thức POST có thể sử dụng để gửi ASCII cũng như dữ liệu nhị phân.


Dữ liệu gửi bởi phương thức POST phê duyệt HTTP header, thành thử việc bảo mật phụ thuộc vào giao thức HTTP. Bằng việc dùng Secure HTTP, bạn có thể chắc chắn rằng thông báo của mình là an toàn.


PHP cung cấp mảng liên hiệp $_POST để truy cập tuốt luốt các thông báo được gửi bằng phương thức POST.


Bạn thử tỉ dụ sau bằng việc đặt source code vào test.php script:

php if( $_POST["name"]  $_POST["age"] )  if (preg_match("/[^A-Za-z'-]/",$_POST['name'] ))  die ("Biến name không hợp lệ - nên là các chữ cái"); echo "Chào mừng ". $_POST['name']. " "; echo "Bạn ". $_POST['age']. " tuổi."; exit(); ?>

php $_PHP_SELF ?>" method="POST"> Họ tên: type="text" name="name" /> Tuổi: type="text" name="age" /> type="submit" />

PHP code trên sẽ cho kết quả:

Biến $_REQUEST trong PHP

Biến $_REQUEST trong PHP chứa nội dung của cả $_GET, $_POST, và $_COOKIE. Chúng ta sẽ bàn về biến $_COOKIE khi giảng giải về Cookie trong PHP.

Biến $_REQUEST trong PHP có thể được dùng để lấy kết quả từ form data được gửi bởi cả 2 phương thức GET và POST.

Bạn thử ví dụ sau bằng việc đặt source code vào test.php script:
 

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

php $_PHP_SELF ?>" method="POST"> Họ tên: type="text" name="name" /> Tuổi: type="text" name="age" /> type="submit" />

Ở đây, biến $_PHP_SELF chứa tên của chính script đó, script mà nó đang được gọi.

PHP code trên sẽ cho kết quả:

0 nhận xét:

Đăng nhận xét