PHP $_GET

Giới thiệu về $_GET trong PHP

$_GET là một biến siêu toàn cục trong PHP dùng để thu thập dữ liệu từ chuỗi truy vấn trong URL. Điều này có nghĩa là khi bạn gửi một yêu cầu HTTP đến máy chủ kèm theo các tham số trong URL, PHP sẽ tự động chuyển đổi các tham số đó thành một mảng kết hợp mà bạn có thể truy cập thông qua $_GET.

Cách thức hoạt động của $_GET

Khi bạn tạo một liên kết với các tham số, nó sẽ trông như thế này:

http://example.com/page.php?param1=value1¶m2=value2

Trong ví dụ trên, param1param2 là các khóa, còn value1value2 là giá trị tương ứng của chúng. Để truy cập các giá trị này trong PHP, bạn có thể làm như sau:

$value1 = $_GET['param1'];
$value2 = $_GET['param2'];

Ưu điểm của việc sử dụng $_GET

  • Dễ dàng gửi và nhận dữ liệu qua URL.
  • Rất phù hợp cho việc thực hiện tìm kiếm và phân trang.
  • Dễ dàng chia sẻ URL với các tham số đã được chỉ định.

Nhược điểm của $_GET

  • Giới hạn độ dài URL (phụ thuộc vào trình duyệt và máy chủ).
  • Dữ liệu nhạy cảm không nên được gửi qua URL vì nó có thể bị nhìn thấy trong lịch sử trình duyệt hoặc nhật ký máy chủ.
  • Dễ bị tấn công XSS (Cross-Site Scripting) nếu không được xử lý đúng cách.

Ví dụ sử dụng $_GET

if (isset($_GET['name'])) {
    $name = htmlspecialchars($_GET['name']);
    echo "Hello, " . $name;
}

Trong ví dụ này, nếu người dùng truy cập URL như http://example.com/page.php?name=John, trang sẽ trả về Hello, John. Hàm htmlspecialchars() được sử dụng để bảo vệ ứng dụng khỏi các cuộc tấn công XSS.

Kết luận

$_GET là một công cụ hữu ích trong PHP để nhận dữ liệu từ URL. Tuy nhiên, bạn cần xử lý dữ liệu một cách cẩn thận để đảm bảo tính an toàn cho ứng dụng của mình.