$_REQUEST trong PHP

$_REQUEST trong PHP
$_REQUEST trong PHP

$_REQUEST trong PHP là gì?

$_REQUEST trong PHP là một loại siêu biến toàn cục dùng để lấy các dữ liệu từ giao tiếp HTTP, nó có thể thay thế các phương thức Cookie, GET, POST, lấy biến từ URL,.... nhưng yếu tố bảo mật sẽ không cao.

Cú pháp của $_REQUEST trong PHP

$kết_quả = $_REQUEST["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ụ $_REQUEST trong PHP

<!DOCTYPE html>
<html>
<body>
<form method="POST" action"https://webmoi.vn/chay-thu-vi-du-request-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($_REQUEST["btnsub"]!=""){
$hoten = $_REQUEST["hoten"];
$email = $_REQUEST["email"];
echo "Họ tên: ".$hoten."<br>";
echo "email: ".$email;
}
?>
</body>
</html>

Ở ví dụ này mình để method của form là POST, dùng $_REQUEST để lấy biến.

Kết quả sau khi nhập thông tin và gửi:

Họ tên: Bùi Tấn Lực
email: tanlucit09@gmail.com

Chạy Thử

Trường hợp lấy biến ở URL:

https://webmoi.vn/intro.php?a=4

Mình dùng code PHP:

<?php
echo $_REQUEST['a'];
?>

Kết quả lấy được biến a =4.

Nên dùng $_REQUEST hay $_GET và $_POST trong PHP?

$_REQUEST giúp lấy dữ liệu từ nhiều nguồn trong cùng một biến, nhưng sự tiện lợi này cũng khiến code khó thể hiện rõ dữ liệu đang đến từ đâu. Trong những trường hợp đã biết chính xác nguồn dữ liệu, sử dụng $_GET hoặc $_POST thường dễ đọc, dễ kiểm soát và phù hợp hơn.

Khi nào nên sử dụng $_REQUEST?

$_REQUEST phù hợp với những tình huống đơn giản khi chương trình chỉ cần đọc một giá trị mà không quá quan trọng việc giá trị đó đến từ GET, POST hoặc COOKIE. Cách này có thể giúp giảm lượng code trong các xử lý nhỏ.

Ví dụ, một trang có thể nhận tham số từ URL hoặc dữ liệu gửi lên và chỉ cần kiểm tra xem một khóa có tồn tại hay không:

<?php
$keyword = $_REQUEST['keyword'] ?? '';

echo $keyword;
?>

Tuy nhiên, không nên lạm dụng $_REQUEST trong các chức năng quan trọng. Khi nhiều nguồn cùng sử dụng một tên tham số, việc xác định giá trị thực tế được lấy từ đâu có thể trở nên khó khăn hơn.

Vì sao nên ưu tiên $_GET hoặc $_POST?

Khi đã xác định rõ nguồn dữ liệu, sử dụng đúng biến tương ứng sẽ làm code minh bạch hơn. $_GET thích hợp với dữ liệu nằm trên URL như từ khóa tìm kiếm, bộ lọc hoặc tham số phân trang. $_POST thường được dùng khi gửi dữ liệu biểu mẫu hoặc thực hiện các thao tác cần truyền dữ liệu trong phần thân của request.

Chẳng hạn, nếu dữ liệu chắc chắn được gửi bằng phương thức POST, có thể lấy trực tiếp từ $_POST:

<?php
$email = $_POST['email'] ?? '';

echo $email;
?>

Cách viết này giúp người đọc code nhận biết ngay dữ liệu đến từ POST, đồng thời hạn chế việc vô tình chấp nhận dữ liệu từ nguồn không mong muốn. Với website có nhiều chức năng, ưu tiên $_GET$_POST theo đúng mục đích sẽ giúp việc bảo trì và kiểm soát dữ liệu thuận lợi hơn.

Lời kết

Cảm ơn bạn đã tham khảo bài viết $_REQUEST trong PHP.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về $_REQUEST trong PHP
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !