$_post trong php

Cả GET và POST tạo một mảng (ví dụ mảng (key => value, key2 => value2, key3 => value3, ...)). Mảng này chứa các cặp khóa/giá trị, trong đó các khóa là tên của các form control và các giá trị là dữ liệu được nhập từ người dùng.

Biến $_GET được xử dụng để xử lý phương thức GET và $_POST được sử dụng để xử lý phương thức POST. Đây là các biến siêu toàn cầu, có nghĩa là chúng luôn có thể truy cập, bất kể phạm vi - và bạn có thể truy cập chúng từ bất kỳ hàm, lớp hoặc tệp nào.

$_GET là một mảng các biến được truyền cho 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 cho tập lệnh hiện tại thông qua phương thức HTTP POST.


Khi nào sử dụng GET?

Thông tin được gửi từ một biểu mẫu có phương thức GET hiển thị cho tất cả mọi người (tất cả các tên và giá trị biến được hiển thị trong URL). GET cũng có giới hạn về lượng thông tin cần gửi. Giới hạn là khoảng 2000 ký tự. Tuy nhiên, vì các biến được hiển thị trong URL, bạn có thể đánh dấu trang. Điều này có thể có ích trong một số trường hợp.

GET có thể được sử dụng để gửi dữ liệu không nhạy cảm.

Lưu ý: Đừng bao giờ sử dụng GET để gửi mật khẩu hoặc thông tin nhạy cảm khác!



Khi nào sử dụng POST?

Thông tin được gửi từ một form có phương thức POST là ẩn với người khác (tất cả các tên/giá trị được nhúng bên trong phần thân của HTTP Request) và không có giới hạn về lượng thông tin cần gửi.

Hơn nữa POST hỗ trợ chức năng nâng cao như hỗ trợ nhập nhị phân nhiều phần trong khi tải tệp lên máy chủ.

Chúng ta sẽ sử dụng hàm isset để kiểm tra xem các giá trị đã có trong biến mảng $_POST chưa trước khi thực hiện các hành động tiếp theo.

Hãy xem đoạn mã dưới đây:

sử dụng để kiểm tra form_submitted đã có chưa và và hiển thị thông báo cảm ơn với firstname.
Nếu form_fobmitted lĩnh vực này chưa tồn tại trong $_POST[] mảng, form vẫn hiển thị.

5.2. Một ví dụ về chức năng Search sử dụng phương thức GET


Chúng ta sẽ thiết kế một công cụ tìm kiếm đơn giản mà sử dụng phương thức GET trong PHP.

Để đơn giản, chúng ta sẽ sử dụng cấu trúc if để xác định output

Chúng ta sẽ sử dụng cùng một đoạn mã HTMl gần giống như ví dụ From đăng ký ở trên và thay đổi nó đi một chút.

Hiển thị trong trình duyệt như sau:

$_post trong php

Chức năng tìm kiếm đơn giản


Gõ thử "GET" và click vào nút submit

Chúng ta thấy chương trình thực thi như sau:

$_post trong php

Chức năng mô phỏng tìm kiếm thực hiện thành công với Phương thức GET
 


Và bạn cũng sẽ thấy ở trong địa chỉ URL như sau:


$_post trong php

Thông tin được GET hiển thị trên URL

3.3. Ví dụ làm việc với check box và radio button


Nếu người dùng tick vào checkbox hoặc radio, không có giá trị submit. Nếu người dùng tick vào check box hoặc radio button thì sẽ được submit.

Chúng ta hãy thay đổi việc mẫu Form đăng ký một chút và thêm một nút checkbox để kiểm tra xem người dùng có đồng ý với các điều khoản hay không rồi mới cho ấn submit.

Tiếp tục series học PHP cơ bản hôm nay chúng ta tiếp tục học về hai phương thức hay dùng nhất để truyền tải dữ liệu từ CLIENT lên SERVER đó là GET và POST

1, Phương thức GET.

Lý Thuyết

-Phương thức GET gửi dữ liệu từ client lên server thông qua các paramter( tham số) trên URL, từ đó server sẽ phân tích dữ liệu để thực thi một hành động nào đó. Các tham số mà phương thức GET gửi lên sẽ bắt đầu sau dấu

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
0 . Và sẽ nối nhau giữa các khóa thông qua dấu
echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
1

VD1: Với url http://toidicode.com?id=17 lúc này chúng ta đang gửi dữ liệu bằng phương thức GET lên server với tham số id=17.

VD2: Với url http://toidicode.com?age=21&name=VuThanhTai lúc này chúng ta đang gửi dữ liệu bằng phương thức GET lên server với tham số age=21 và name=VuThanhTai

SERVER nhận dữ liệu

-Để thông báo cho server nhận dữ liệu GET khi có thì chúng ta chỉ cần sử dụng $_GET đây là một biến toàn cục lưu trữ dưới dạng mảng bất tuần tự.

VD3: như với URL ở VD2 thì trên server sẽ lưu trữ cho chúng ta như sau:

$_GET = [
    'age' => 21,
    'name' => 'VuThanhTai'
];

Như thế thì chúng ta chỉ cần lấy giá trị theo kiểu mảng là xong

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;

Thực Hành

-Đầu tiên mọi người tạo cho mình 2 tệp tin

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
2 và
echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
3 ở cùng cấp thư mục trên server hoặc server ảo.

Tiếp theo chúng ta cần phải tạo ra một form để gửi dữ liệu get lên server trong file

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
2




    
    
    Form
    
    

    
    

    
    


Get files

-Giải thích: Form trên mình đã tạo ra 2 trường name và age và gửi dữ liệu lên server và cụ thể là file

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
3

-Sau khi đã tạo được form gửi dữ liệu lên server thì tiếp theo chúng ta cần viết code để server nhận dữ liệu trong file

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
3

';
echo 'Tuổi: ' . $_GET['age'];
?>

Chạy

-Ngoài cách gửi dữ liệu bằng form trên thì vì đây là phương thức GET lên hoàn toàn các bạn có thể truyền tham số bằng tay thông qua paramter trên URL. ví dụ như:

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
7

2, Phương thức POST.

Lý thuyết

-Khác với phương thức GET phương thức POST không gửi dữ liệu thông qua paramter trên URL, nên chúng ta không thể nhìn thấy được dữ liệu đang được gửi là gì.

Server nhận dữ liệu

-Để thông báo cho server nhận dữ liệu POST khi có thì chúng ta chỉ cần sử dụng $_POST đây là một biến toàn cục lưu trữ dưới dạng mảng bất tuần tự.

-Và để lấy giá trị của POST chúng ta sử dụng cú pháp:

$_POST['name'];

Trong đó: name là tên của post data chúng ta muốn nhận

Thực hành

-Đầu tiên mọi người tạo cho mình 2 tệp tin

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
2 và
echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
9 ở cùng cấp thư mục trên server hoặc server ảo.

-Tiếp theo chúng ta cần phải tạo ra một form để gửi dữ liệu POST lên server trong file

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
2




    
    
    Form
    
    

    
    

    
    


Get files

-Giải thích: Form trên mình đã tạo ra 2 trường name và age và gửi dữ liệu lên server và cụ thể là file

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
9

-Sau khi đã tạo được form gửi dữ liệu lên server thì tiếp theo chúng ta cần viết code để server nhận dữ liệu trong file 

echo $_GET['age']; // lấy age
echo $_GET['name']; //lấy name;
9

';
echo 'Tuổi: ' . $_POST['age'];
?>

Tiếp theo các bạn chạy code lên và cảm nhận nhé!

3, Kiểm tra với isset.

-Hàm




    
    
    Form
    
    

    
    

    
    


Get files
3 trong PHP có chức năng kiểm tra xem biến có tồn tại hay không. Nó sẽ trả về TRUE nếu biến đó có tồn tại và ngược lại FALSE nếu biến đó không tồn tại

Cú pháp:

isset($bien);

Trong đó:




    
    
    Form
    
    

    
    

    
    


Get files
4 là biến mà bạn muốn kiểm tra sự tồn tại.

Đi vào với phần thực hành ở trên thì các bạn có thể truy cập vào 2 files get.php và post.php các bạn sẽ thấy ngay dòng thông báo.

$_post trong php

Vậy sau khi đã tìm hiểu về hàm isset thì chúng ta chỉ cần chỉnh sửa nhỏ trong 2 files get.php và post.php như sau:

get.php

';
    echo 'Tuổi: ' . $_GET['age'];
}

 post.php

';
    echo 'Tuổi: ' . $_POST['age'];
}

Kết luận: qua phần thực hành trên các bạn thấy




    
    
    Form
    
    

    
    

    
    


Get files
3 hoàn toàn rất hữu dụng đúng không nhỉ, và mình cũng khuyên các bạn thường xuyên sử dụng



    
    
    Form
    
    

    
    

    
    


Get files
3 để ràng buộc dữ liệu cho chặt chẽ nhé!

4, GET VS POST.

Giống nhau:

-Cả GET và POST đều dùng để gửi dữ liệu lên server

Khác nhau:

-Xét về độ bảo mật thì phương thức POST sẽ bảo mật hơn phương thức GET.

Xét về tốc độ thì phương thức GET nhanh hơn phương thức POST.

5, Lời kết.

-Qua phần trên mình đã giới thiệu với mọi người về hai phương thức gửi dữ liệu từ client lên server rồi, đây là một bài hết sức quan trọng và thường xuyên phải sử dụng về sau lên các bạn cố gắng ôn tập kỹ.

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Đăng Ký

PHP Cơ Bản

Bài trước  Bài sau

1 comments 506 likes

$_post trong php

Vũ Thanh Tài

About author

The best way to learn is to share

Xem tất cả bài đăng

Bài Viết Mới

  • $_post trong php

    Những tính năng mới trong PHP 8.1

    1 năm trước 7 Comments

  • $_post trong php

    Bài 39: Cache trong Laravel 8

    2 năm trước 1 Comments

  • $_post trong php

    PHP Swoole là gì? nó có gì mạnh?

    2 năm trước 0 Comment

  • $_post trong php

    Cài đặt SSL trên local sử dụng mkcert

    2 năm trước 4 Comments

1 Comments

$_post trong php

Cho em hỏi là nếu dùng GET thì lấy ra được mấy giá trị vậy ạ(Trong trường hợp các tên name nó giống nhau)