Trong lập trình PHP phương thức GET và POST đều có chức năng truyền dữ liệu từ Client tới Server. Nhưng nó không hoàn toàn giống nhau khi sử dụng, cùng tìm hiểu về post và get khác nhau như thế nào qua bài sau đây.
Phương thức GET trong PHP
Để hiểu rõ hơn về GET bạn sẽ thực hiện ví dụ sau:
<html> <body> <form action = "<?php $_PHP_SELF ?>" method = "GET"> Tên: <input type = "text" name = "Ten" /> Tuổi: <input type = "text" name = "Tuoi" /> <input type="submit" name="btn_submit" value="Submit"/> </form> <?php if(isset($_GET['btn_submit'])){ $Ten = $_GET['Ten']; $Tuoi = $_GET['Tuoi']; echo $Ten." "; echo $Tuoi; } ?> </body> </html>
Khi nhìn lên thanh trình duyệt bạn sẽ thấy dòng lệnh với phương thức GET:
http://localhost/test.php?Ten=admin&Tuoi=1990&btn_submit=Submit
Giải thích:
– Khi gửi dữ liệu GET sẽ tạo ra URL với cấu trúc
name1=value1&name2=value2&name3=value3
– Các cặp khác nhau sẽ được phân tách bằng dấu “&”
– GET sẽ không được dùng để gửi dữ liệu bảo mật như Password, thông tin thẻ ngân hàng…
Phương thức POST trong PHP
Cũng ví dụ trên nhưng bạn sẽ thay thế $_GET bằng $_POST, sau đó load lại trình duyệt và nhập lại tên, năm sinh và kết quả là
Không có gì thay đổi phải không nào!
Đây chính là sự khác nhau giữa $_GET và $_POST đấy!
Vậy khi nào dùng GET và POST
Qua 2 ví dụ trên chúng ta thấy rằng GET và POST đều có điểm giống nhau là gửi dữ liệu thông qua Form tới Server.
Nhưng xét về độ bảo mật thì POST sẽ tốt hơn chính vì vậy cũng khiến cho dữ liệu bị xử lý chậm hơn.
Đối với GET sẽ dùng khi muốn lấy thông tin từ Database ra trình duyệt…
Còn với POST sẽ dùng cho các thông tin bảo mật mật như đăng k, đăng nhập, thông tin thẻ ngân hàng, mật khẩu…
Hoặc khi Request Update, Delete, Insert vào Cơ sở dữ liệu thì dùng POST
Vậy thôi khá dễ hiểu phải không nào! Qua bài viết này bạn đã hiểu về sự khác nhau giữa POST và GET cùng cách sử dụng rồi phải không nào.