$_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:

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:

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:


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 //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 //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
Tên
Tuổi
Submit

-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

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
Tên
Tuổi
Submit

-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

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
Tên
Tuổi
Submit
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
Tên
Tuổi
Submit
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.

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

Chủ Đề