Phương thức $_GET trong PHP
Trần Thị Vân
- 1193
- 27/07/2025
Chức năng của Phương thức $_GET trong PHP
Phương thức $_GET trong PHP dùng để lấy các giá trị của các thẻ như input, textarea, select,... khi submit form gửi đi, phương thức GET sẽ hiện các giá trị của phần tử HTML và các giá trị của thuộc tính name lên url, người dùng có thể nhìn thấy được.
Để sử dụng được phương thức GET thì ở phần form của HTML bạn hãy để method là GET.
Cú pháp của Phương thức $_GET trong PHP
$kết_quả = $_GET["giá_trị_của_thuộc_tính_name"];
giá_trị_của_thuộc_tính_name: Giá trị của thuộc tính name trong các phần tử HTML.
$kết_quả: Giá trị của phần tử được trả về.
Lưu ý: Giá trị của thuộc tính name trong các phần tử HTML khác với Giá trị của phần tử được trả về.
Ví dụ Phương thức $_GET trong PHP
<!DOCTYPE html>
<html>
<body>
<form method="GET" action"https://webmoi.vn/phuong-thuc-get-trong-php/">
<input type="text" name="hoten" placeholder="Họ tên"><br>
<input type="text" name="email" placeholder="Email"><br>
<input type="submit" name="btnsub" value="GỬI">
</form>
<?php
if($_GET["btnsub"]!=""){
$hoten = $_GET["hoten"];
$email = $_GET["email"];
echo "Họ tên: ".$hoten."<br>";
echo "email: ".$email;
}
?>
</body>
</html>
Những lưu ý khi sử dụng GET trong PHP
Khi làm việc với dữ liệu truyền qua URL, việc sử dụng GET trong PHP khá thuận tiện nhưng cũng cần có những giới hạn rõ ràng. Dữ liệu từ URL có thể bị người dùng thay đổi, nhìn thấy hoặc sao chép, vì vậy không nên xem giá trị nhận được là dữ liệu đã an toàn. Xử lý đúng ngay từ bước nhận dữ liệu sẽ giúp ứng dụng ổn định và hạn chế nhiều lỗi không đáng có.
Không dùng GET cho dữ liệu nhạy cảm
GET phù hợp với những dữ liệu không cần bảo mật như từ khóa tìm kiếm, mã sản phẩm, số trang hoặc bộ lọc. Ngược lại, mật khẩu, mã xác thực, thông tin riêng tư hoặc dữ liệu bảo mật không nên truyền trực tiếp trên URL.
Một phần nguyên nhân là URL có thể xuất hiện trong lịch sử trình duyệt, nhật ký máy chủ, liên kết được chia sẻ hoặc các hệ thống theo dõi. Nếu dữ liệu quan trọng được đặt trong tham số GET, người không có quyền có thể vô tình nhìn thấy thông tin đó.
Kiểm tra và xử lý dữ liệu nhận từ URL
Dữ liệu nhận từ GET phải được xem là dữ liệu do người dùng cung cấp. Không nên đưa trực tiếp giá trị này vào truy vấn cơ sở dữ liệu, câu lệnh hoặc nội dung HTML mà chưa kiểm tra và xử lý phù hợp.
Ví dụ, nếu URL nhận một tham số dùng để xác định trang hiện tại, có thể kiểm tra kiểu dữ liệu và đặt giá trị mặc định trước khi sử dụng:
<?php
$page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT);
if ($page === false || $page === null || $page < 1) {
$page = 1;
}
echo $page;
?>
Cách xử lý này giúp chương trình không phụ thuộc hoàn toàn vào dữ liệu được nhập trên URL. Với từng loại dữ liệu, nên lựa chọn phương pháp kiểm tra và làm sạch phù hợp thay vì áp dụng một cách xử lý cho mọi trường hợp.
Giới hạn độ dài dữ liệu truyền qua GET
GET truyền dữ liệu thông qua URL nên không thích hợp với những nội dung quá dài. Giới hạn thực tế còn phụ thuộc vào trình duyệt, máy chủ và các thành phần trung gian xử lý yêu cầu.
Vì vậy, GET nên ưu tiên cho các giá trị ngắn như từ khóa, mã định danh, tham số lọc hoặc số trang. Nếu cần gửi một lượng dữ liệu lớn, đặc biệt là nội dung biểu mẫu dài, nên cân nhắc phương thức POST để phù hợp hơn với mục đích sử dụng.
Khi nào nên dùng GET thay vì POST?
GET phù hợp khi yêu cầu chủ yếu nhằm lấy hoặc tìm kiếm dữ liệu và các tham số có thể xuất hiện trên URL. Chẳng hạn, một trang tìm kiếm có thể sử dụng từ khóa và bộ lọc để tạo ra một địa chỉ có thể sao chép hoặc chia sẻ.
POST phù hợp hơn khi gửi dữ liệu cần được xử lý để tạo, cập nhật hoặc thực hiện một hành động trên máy chủ. Tuy nhiên, không nên hiểu rằng POST tự động làm dữ liệu trở nên bảo mật; nếu cần bảo vệ thông tin, website vẫn phải sử dụng HTTPS và có cơ chế kiểm tra quyền truy cập phù hợp.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức $_GET trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *