Phương thức $_POST trong PHP

Phương thức $_POST trong PHP
Phương thức $_POST trong PHP

Chức năng của Phương thức $_POST trong PHP

Phương thức $_POST 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 POST sẽ không 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.

Để sử dụng được phương thức POST thì ở phần form của HTML bạn hãy để method là POST.

Cú pháp của Phương thức $_POST trong PHP

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

<form method="POST" action"https://webmoi.vn/chay-thu-vi-du-phuong-thuc-post-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>

<h2>Kết quả sau khi nhấn GỬI</h2>

<?php
if($_POST["btnsub"]!=""){
$hoten = $_POST["hoten"];
$email = $_POST["email"];
echo "Họ tên: ".$hoten."<br>";
echo "email: ".$email;
}
?>

Kết quả:

/////Kết quả sau khi nhấn GỬI
Họ tên: Bùi Tấn Lực
email: tanlucit09@gmail.com

Lưu ý khi xử lý dữ liệu $_POST trong PHP

Dữ liệu gửi bằng $_POST đến từ phía người dùng nên không nên được sử dụng ngay mà chưa kiểm tra. Một biểu mẫu có thể bị bỏ trống, gửi sai kiểu dữ liệu hoặc chứa nội dung không phù hợp. Việc xử lý dữ liệu đầu vào cẩn thận giúp chương trình hoạt động ổn định và hạn chế các rủi ro không đáng có.

Kiểm tra dữ liệu trước khi sử dụng

Trước khi xử lý một giá trị trong $_POST, nên xác định dữ liệu đó có tồn tại và có đúng với yêu cầu của chương trình hay không. Với các trường bắt buộc, có thể kiểm tra giá trị rỗng trước khi thực hiện các bước tiếp theo.

<?php
if (isset($_POST['email']) && $_POST['email'] !== '') {
    $email = $_POST['email'];
}
?>

Cách kiểm tra này giúp tránh tình trạng chương trình cố sử dụng một giá trị chưa được gửi lên. Với dữ liệu quan trọng hơn, nên kiểm tra thêm định dạng và kiểu dữ liệu thay vì chỉ xác nhận biến có tồn tại.

Xử lý trường hợp dữ liệu $_POST không tồn tại

Không phải lúc nào trang PHP cũng được truy cập sau khi người dùng gửi biểu mẫu. Nếu truy cập trực tiếp hoặc biểu mẫu chưa được gửi, các khóa tương ứng trong $_POST có thể không tồn tại. Vì vậy, chương trình nên có cách xử lý phù hợp cho trường hợp này.

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

if ($name === '') {
    echo 'Vui lòng nhập họ tên.';
}
?>

Toán tử ?? giúp cung cấp giá trị mặc định khi khóa không tồn tại. Nhờ đó, mã nguồn dễ kiểm soát hơn và hạn chế việc truy cập trực tiếp vào dữ liệu chưa được gửi.

Lọc và làm sạch dữ liệu từ biểu mẫu

Dữ liệu nhận từ biểu mẫu cần được xử lý phù hợp với mục đích sử dụng. Chẳng hạn, email nên được kiểm tra theo định dạng email, số lượng nên được xác nhận là số, còn nội dung hiển thị ra trang web cần được xử lý để tránh đưa dữ liệu không an toàn trực tiếp vào HTML.

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

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo 'Email hợp lệ.';
}
?>

Không nên áp dụng một cách lọc duy nhất cho mọi loại dữ liệu. Cách xử lý cần dựa trên nơi dữ liệu sẽ được sử dụng, chẳng hạn HTML, SQL, URL hoặc tệp tin.

Không nên tin tưởng dữ liệu người dùng gửi lên

Giá trị trong $_POST có thể được thay đổi trước khi gửi đến máy chủ, vì vậy không nên xem dữ liệu này là thông tin đã được xác thực. Những dữ liệu như giá tiền, quyền hạn, mã người dùng hoặc trạng thái đơn hàng cần được kiểm tra lại ở phía máy chủ.

Đặc biệt, việc kiểm tra bằng JavaScript trên trình duyệt chỉ giúp hỗ trợ trải nghiệm người dùng, không thay thế cho bước kiểm tra trong PHP. Máy chủ vẫn phải tự xác minh dữ liệu trước khi lưu trữ hoặc thực hiện tác vụ quan trọng.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Phương thức $_POST 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ề Phương thức $_POST 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) !