Xử lý Form với PHP

Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 17 tháng 5, 2025

Trong bài học này, chúng ta sẽ tìm hiểu cách xử lý dữ liệu từ form trong PHP bằng phương thức $_GET$_POST. Học viên sẽ học cách kiểm tra, xử lý dữ liệu nhập vào hệ thống.

2. Xử lý Form với PHP

1.1 Nhận dữ liệu từ form với $_GET$_POST

Phương thức GET

  • Dữ liệu được gửi qua URL (người dùng có thể nhìn thấy được qua URL).
  • Dùng để gửi dữ liệu không nhạy cảm, như tìm kiếm hoặc lọc thông tin.
  • Ví dụ:
    <form method="GET" action="process.php">
        <input type="text" name="name">
        <input type="submit" value="Gửi">
    </form>
    

Phương thức POST

  • Dữ liệu được gửi ngầm qua HTTP request body (người dùng không thể nhìn thấy được qua URL).
  • Bảo mật hơn GET, phù hợp với form đăng nhập, đăng ký.
  • Ví dụ:
    <form method="POST" action="process.php">
        <input type="text" name="name">
        <input type="submit" value="Gửi">
    </form>
    

Sự khác nhau giữa GETPOST

Đặc điểm GET POST
Dữ liệu gửi đi Gửi qua URL (dễ thấy) Gửi trong phần thân (ẩn đi)
Giới hạn dữ liệu Có giới hạn (khoảng 2048 ký tự) Không giới hạn rõ ràng (tùy server)
Bảo mật Kém (URL dễ bị xem/lưu lại) Tốt hơn (dữ liệu không hiện trên URL)
Dùng lại URL được Có (có thể bookmark, copy link) Không
Tốc độ Nhanh hơn một chút vì đơn giản hơn Có thể chậm hơn
Công dụng chính Lấy dữ liệu (read-only) Gửi dữ liệu (form, đăng ký...)

Tại sao phải có cả GET và POST

  • GET rất tiện để lấy thông tin, hiển thị nội dung (ví dụ: tìm kiếm, phân trang, lọc danh sách…)
  • POST cần thiết khi bạn thay đổi dữ liệu trên hệ thống: thêm, sửa, xóa, gửi form...

Khi nào dùng GET?

  • Khi không cần bảo mật.
  • Khi chỉ lấy dữ liệu, hiển thị mà không thay đổi gì (read-only).
  • Khi muốn chia sẻ URL, ví dụ:
    • example.com/search?keyword=php
    • example.com/page/2

Khi nào dùng POST?

  • Khi cần gửi thông tin nhạy cảm: mật khẩu, số thẻ, địa chỉ, v.v.
  • Khi thêm/sửa/xóa dữ liệu vào database.
  • Khi dùng form gửi nhiều dữ liệu:
    • Form đăng ký, đăng nhập
    • Gửi bình luận, gửi bài viết

1.2 Truy cập dữ liệu của form

Phương thức GET

Khi form sử dụng phương thức GET, có thể truy vấn dữ liệu đã gửi từ form thông qua biến $_GET.

  • Ví dụ khai báo form:
    form method="GET" action="get_example.php">
     Tên: <input type="text" name="ten"><br>
     Tuổi: <input type="text" name="tuoi"><br>
     <button type="submit">Gửi</button>
    /form>
    
  • Xử lý get dữ liệu và hiển thị lên:
    ?php
    ten = $_GET['ten'];
    tuoi = $_GET['tuoi'];
    
    cho "Tên bạn là: $ten<br>";
    cho "Tuổi bạn là: $tuoi<br>";
    >
    
    Run code

Phương thức POST

Khi form sử dụng phương thức POST, có thể truy vấn dữ liệu đã gửi từ form thông qua biến $_POST.

  • Ví dụ khai báo form:
    form method="POST" action="post_example.php">
     Tên: <input type="text" name="ten"><br>
     Tuổi: <input type="text" name="tuoi"><br>
     <button type="submit">Gửi</button>
    /form>
    
  • Xử lý get dữ liệu và hiển thị lên:
    ?php
    ten = $_POST['ten'];
    tuoi = $_POST['tuoi'];
    
    cho "Tên bạn là: $ten<br>";
    cho "Tuổi bạn là: $tuoi<br>";
    >
    
    Run code

2. Kết luận

  • Phân biên GET và POST.
  • Cách nhận dữ liệu từ form bằng $_GET$_POST.
Website Logo

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.

Bình luận

Website Logo

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.

Liên hệ công việc qua email dưới đây.

lhvuctu@gmail.com

Chúng Tôi Trên

Bạn đang muốn học về lập trình website?

Bạn cần nâng cao kiến thức chuyên nghiệp hơn để nâng cao cơ hội nghề nghiệp? Liên hệ