Bài 12: Phương Thức GET Và POST Trong PHP
Có thể bạn quan tâm
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 ?. Và sẽ nối nhau giữa các khóa thông qua dấu &
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 index.html và get.php ở 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 index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Form</title> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> <!-- Optional theme --> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css"> <!-- Latest compiled and minified JavaScript --> <script ></script> </head> <body> <div class="container"> <form action="get.php" method="GET" role="form"> <legend>Get files</legend> <div class="form-group"> <label for="">Tên</label> <input type="text" class="form-control" id="" placeholder="Nhập vào tên" name="name"> </div> <div class="form-group"> <label for="">Tuổi</label> <input type="number" class="form-control" id="" placeholder="Nhập vào tuổi" name="age"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> </body> </html>-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 get.php
-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 get.php
<?php echo 'Tên: ' . $_GET['name'] . '<br>'; 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ư: http://localhost/get.php?name=vuthanhtai&age=21
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 index.html và post.php ở 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 index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Form</title> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> <!-- Optional theme --> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css"> <!-- Latest compiled and minified JavaScript --> <script ></script> </head> <body> <div class="container"> <form action="post.php" method="POST" role="form"> <legend>Get files</legend> <div class="form-group"> <label for="">Tên</label> <input type="text" class="form-control" id="" placeholder="Nhập vào tên" name="name"> </div> <div class="form-group"> <label for="">Tuổi</label> <input type="number" class="form-control" id="" placeholder="Nhập vào tuổi" name="age"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> </body> </html>-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 post.php
-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 post.php
<?php echo 'Tên: ' . $_POST['name'] . '<br>'; 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 isset() 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 đó: $bien 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
<?php if (isset($_GET['name']) && isset($_GET['age'])) { echo 'Tên: ' . $_GET['name'] . '<br>'; echo 'Tuổi: ' . $_GET['age']; }post.php
<?php if (isset($_POST['name']) && isset($_POST['age'])) { echo 'Tên: ' . $_POST['name'] . '<br>'; echo 'Tuổi: ' . $_POST['age']; }Kết luận: qua phần thực hành trên các bạn thấy isset() 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 isset() để 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ỹ.
Từ khóa » Sử Dụng Get Trong Php
-
Tìm Hiểu GET Và POST Trong PHP - Viblo
-
Bài 19: Phương Thức GET Và POST Trong Php - Freetuts
-
Phương Thức GET Và POST Trong PHP 2021 | Ironhack Việt Nam
-
Tìm Hiểu Về GET Và POST Trong PHP Qua Ví Dụ Form Submit
-
PHP _GET Và _POST | Hướng Dẫn Học PHP | Học Web Chuẩn
-
Phương Thức Get Và Post Trong PHP | Lập Trình Từ Đầu
-
Phương Thức GET Và POST Trong PHP
-
Bài 13: Phương Thức GET Và POST Trong PHP - Tân Hồng IT
-
Phương Thức GET Và POST Trong PHP - Quách Quỳnh
-
Phương Thức Get Và Post Trong Php - Freetuts
-
Phương Thức Get Post Trong PHP - Code Viet
-
Phương Thức Truyền Và Nhận Dữ Liệu POST, GET Trong PHP
-
[Bài 9] PHP Cơ Bản - Phương Thức POST, GET Trong PHP - DevPro
-
Thu Thập Và Xử Lý Dữ Liệu Bằng Yêu Cầu GET (Request GET) Trong ...