Bài 6: Form và Xử Lý Dữ Liệu trong PHP

Bài 6: Form và Xử Lý Dữ Liệu trong PHP

Trong bài này AzBook sẽ cùng bạn tìm hiểu về Form và Xử Lý Dữ Liệu trong PHP.

1. Cấu trúc form HTML, các thành phần trong form

1.1. Khái niệm Form

  • Form (biểu mẫu) là một phần tử HTML cho phép người dùng nhập dữ liệu và gửi dữ liệu đó đến máy chủ để xử lý.

  • Form được sử dụng rộng rãi trong các website để thu thập thông tin từ người dùng, chẳng hạn như đăng nhập, đăng ký, tìm kiếm, gửi phản hồi...

1.2. Cấu trúc thẻ <form>

<form action="xu_ly_form.php" method="POST">
    <!-- Các thành phần của form -->
</form>

 

  • action: Đường dẫn (URL) của file PHP sẽ xử lý dữ liệu form.

  • method: Phương thức gửi dữ liệu form, thường là POST hoặc GET.

1.3. Các thành phần form phổ biến

  • <input>: Tạo các trường nhập liệu, có nhiều loại input khác nhau:

    • type="text": Ô nhập văn bản.

    • type="password": Ô nhập mật khẩu.

    • type="email": Ô nhập email.

    • type="radio": Nút radio (chọn một trong nhiều).

    • type="checkbox": Hộp kiểm (chọn nhiều).

    • type="file": Chọn file tải lên.

    • type="submit": Nút gửi form.

  • <textarea>: Tạo ô nhập văn bản nhiều dòng.

  • <select>: Tạo danh sách lựa chọn.

  • <option>: Tạo các lựa chọn trong danh sách <select>.

  • <button>: Tạo nút bấm.

Ví dụ form đơn giản:

<form action="process.php" method="POST">
    <label for="name">Tên:</label><br>
    <input type="text" id="name" name="name"><br><br>

    <label for="email">Email:</label><br>
    <input type="email" id="email" name="email"><br><br>

    <input type="submit" value="Gửi">
</form>

 

2. Cách gửi dữ liệu form bằng phương thức POST và GET

2.1. Phương thức GET

  • Dữ liệu được gửi qua URL, hiển thị trên thanh địa chỉ trình duyệt.

  • Thường dùng cho các form đơn giản, không chứa thông tin nhạy cảm.

Ví dụ URL khi gửi form GET:

https://example.com/search.php?keyword=PHP&category=programming

 

2.2. Phương thức POST

  • Dữ liệu được gửi trong phần body của request HTTP, không hiển thị trên URL.

  • Thường dùng cho các form phức tạp, chứa thông tin nhạy cảm.

3. Cách xử lý dữ liệu form trong PHP

Để xử lý dữ liệu form gửi lên, bạn cần truy cập vào các biến toàn cục $_GET hoặc $_POST (tùy vào phương thức gửi form) trong PHP.

Ví dụ xử lý form với phương thức POST:

File HTML (form.html):

<form action="process.php" method="POST">
    <label for="name">Tên:</label><br>
    <input type="text" id="name" name="name"><br><br>

    <label for="email">Email:</label><br>
    <input type="email" id="email" name="email"><br><br>

    <input type="submit" value="Gửi">
</form>

 

File PHP (process.php):

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST["name"];
    $email = $_POST["email"];

    echo "Xin chào, " . $name . "! Email của bạn là: " . $email;
} else {
    echo "Phương thức không hợp lệ.";
}
?>

 

Giải thích:

  • $_SERVER["REQUEST_METHOD"]: Lấy phương thức gửi request.

  • $_POST["name"]: Lấy giá trị của trường input có name="name".

  • Tương tự với $_POST["email"].

Lưu ý bảo mật:

  • Luôn kiểm tra và lọc dữ liệu đầu vào từ form trước khi sử dụng để tránh các lỗ hổng bảo mật như XSS, SQL Injection.

Bài tập:

  1. Tạo form đăng ký tài khoản đơn giản với các trường: họ tên, email, mật khẩu. Hiển thị thông tin người dùng đã đăng ký sau khi submit form.

  2. Tạo form tính toán đơn giản, cho phép người dùng nhập hai số và chọn phép tính (+, -, *, /). Hiển thị kết quả tính toán sau khi submit form.

  3. Tạo form upload file đơn giản, cho phép người dùng chọn file từ máy tính và upload lên server. Hiển thị thông tin file đã upload thành công (tên file, kích thước, loại file...).