Đị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 Đối với nhiều giá trị Click tạo phương thức GET
Thông tin nhận được _GET NHIỀU GIÁ TRỊ CÙNG LÚC
_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: