Định nghĩa và cách dùng PHP _GET và _POST
- PHP
_GET
và_POST
là hai phương thức dùng để thu thập dữ liệuform
, đây cũng là phương thức dùng để chuyển dữ liệu từ máy cá nhân [client] lên máy chủ [server]. - Cả hai
_GET
và_POST
đều tạo một mảng với cặpkey/value
, với key chính là thuộc tínhname
của các thành phần form, còn value chính là giá trị của thành phần đó vớiname
tương ứng. _GET
thường dùng cho dữ liệu không quan trọng, không cần bảo mật, thể hiện rõ trên tham số khi submit hay click từ liên kết._POST
thường dùng cho dữ liệu quan trọng, cần bảo mật như thông tin login, payment, ..._POST
nhận được thông qua phương thức HTTP.
_GET
_GET
có thể được nhận biết thông qua 2 cách:
_GET
thu thập dữ liệu form sau khi được gửi [submit] thông qua thuộc tínhmethod="get"
_GET
cũng có thể thu thâp dữ liệu được gửi thông qua đường dẫn URL trên thanh địa chỉ.
_GET NHẬN BIÉT GIÁ TRỊ QUA FORM
Điện thoại: Gửi
- Tham số
processing.php
trongaction
chính là trang chứa code xử lý. method="get"
là thuộc tính xác định phương thức, ở đây là_GET
.name="phone"
chính là key nhận biết thành phần được xử lý.button type="submit"
chính là nơi tạo hành động khi người dùng click.
Ví dụ
Điện thoại: Gửi
Điền giá trị 0123456 và click nút Gửi, thông tin sẽ gửi tới trang xử lý php_get_post.php [hiện tại đang sử dụng chính trang hiện hành], khi này đường dẫn trên thanh địa chỉ có dạng php_get_post.php?phone=0123456
Xử lý giá trị
- Cách lấy dữ liệu
_GET
, ta sử dụng cấu trúc$_GET[key]
. - Dùng câu lệnh
if
để xác định xem có tồn tại phương thức_GET
hay không, trước khi nhận giá trị.
VD bên dưới key
chính là giá trị phone
của thuộc tính name
.
Sử dụng if[isset[$_GET["phone"]]]
để kiểm tra
xem $_GET["phone"]
đã tồn tại hay chưa, nếu không kiểm tra sẽ báo lỗi khi chưa tồn tại, xem thêm tại isset[] - PHP các hàm thường dùng.
Điện thoại: Gửi Thông tin nhận được
Thử thay đổi nhiều giá trị khác nhau của input
sau đó click button
Gửi để xem nhiều kết quả khác nhau.
_GET NHẬN BIẾT GIÁ TRỊ QUA URL
Ta thấy khi submit form, thì tham số trên thanh địa chỉ có dạng:
php_get_post.php?phone=0123456, dựa vào đó ta cũng có thể tạo tham số tương tự như vậy trên thanh địa chỉ thông qua tag Click tạo phương thức GET
Thông tin nhận được
_GET NHIỀU GIÁ TRỊ CÙNG LÚC
Đối với nhiều giá trị _GET
thì tham số nhận được có dạng: php_get_post.php?phone=0123456&address=hocwebchuan, dựa vào đó ta có thể tạo giá trị key/value
tương ứng.
Điện thoại:
Địa chỉ: Gửi Phone:
Address:
Thử điền giá trị và click Gửi, sẽ thấy thanh địa chỉ đã có tham số mới.
Đối với URLClick tạo phương thức GET
Phone:
Address:
Thử click vào link sẽ thấy thanh địa chỉ đã có tham số mới.
_POST
Nhận dữ liệu thông qua phương thức _POST
PHP viết
Username:
Password:
Gửi
- Ta thấy, khi điền dữ liệu và nhấn submit, thì trình duyệt không còn thể hiện tham số trên thanh địa chỉ, đây chính là điểm khác biệt giữa
_POST
và_GET
. - Với cách xử lý này
_POST
được dùng cho những thông tin có tính bảo mật, hoặc quan trọng.
Xử lý giá trị
- Tương tự như cách lấy dữ liệu của
_GET
, đối với_POST
ta cũng sử dụng cấu trúc tương tự$_POST[key]
. - Dùng câu lệnh
if
để xác định xem có tồn tại phương thức_POST
hay không, trước khi nhận giá trị.
Username:
Password:
Gửi Username vừa nhập:
Password vừa nhập:
Username vừa nhập:
Password vừa nhập: