Phương thức GET & POST trong PHP Có 2 cách để Client có thể gửi thông tin cho Web Server: Trước khi trình duyệt gửi thông tin, nó mã hóa nó bởi sử dụng một giản đồ gọi là URL encoding..
Trang 1Phương thức GET & POST trong PHP
Có 2 cách để Client có thể gửi thông tin cho Web Server:
Trước khi trình duyệt gửi thông tin, nó mã hóa nó bởi sử dụng một giản đồ gọi là URL encoding Trong giản đồ này, các cặp name/value được kết 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 tin đượ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 tin người dùng đã được mã hóa được phụ thêm vào yêu cầu trang
Trang và thông tin 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
Server
QUERY_STRING
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:
Trang 2<? php
if ( $_GET [ "name" ] || $_GET [ "age" ] )
{
echo "Welcome " $_GET [ 'name' ] "<br />" ;
echo "You are " $_GET [ 'age' ] " years old." ;
exit ();
}
?>
<html>
<body>
<form action=" <?php $_PHP_SELF ?> " method="GET">
Name: <input type = "text" name = "name" />
Age: <input type = "text" name = "age" />
<input type = "submit" />
</form>
</body>
</html>
Nó sẽ cho kết quả:
Phương thức POST trong PHP
Phương thức POST truyền thông tin thông qua HTTP header Thông tin này được mã hóa như mô
tả 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
vào giao thức HTTP Bằng việc sử dụng Secure HTTP, bạn có thể chắc chắn rằng thông tin của mình là an toàn
Trang 3 PHP cung cấp mảng liên hợp $_POST để truy cập tất cả các thông tin được gửi bằng
phương thức POST
Bạn thử ví 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 "invalid name and name should be alpha" );
}
echo "Welcome " $_POST [ 'name' ] "<br />" ;
echo "You are " $_POST [ 'age' ] " years old." ;
exit ();
}
?>
<html>
<body>
<form action=" <?php $_PHP_SELF ?> " method="POST">
Name: <input type = "text" name = "name" />
Age: <input type = "text" name = "age" />
<input type = "submit" />
</form>
</body>
</html>
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ải thích về Cookie trong PHP
Trang 4Biến $_REQUEST trong PHP có thể được sử 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 "Welcome " $_REQUEST [ 'name' ] "<br />" ;
echo "You are " $_REQUEST [ 'age' ] " years old." ;
exit ();
}
?>
<html>
<body>
<form action=" <?php $_PHP_SELF ?> " method="POST">
Name: <input type = "text" name = "name" />
Age: <input type = "text" name = "age" />
<input type = "submit" />
</form>
</body>
</html>
Ở đây, biến $_PHP_SELF chứa tên của chính script đó, script mà nó đang được gọi
Nó sẽ cho kết quả: