Bài tập

Biến siêu toàn cầu trong PHP - Sức mạnh tuyệt vời của việc chia sẻ thông tin

Huy Erick

Giới thiệu Trong lập trình PHP, biến siêu toàn cầu đã trở thành một công cụ hữu ích từ phiên bản PHP 4.1.0. Với khả năng truy cập tất cả các biến ở bất kỳ...

Giới thiệu

Trong lập trình PHP, biến siêu toàn cầu đã trở thành một công cụ hữu ích từ phiên bản PHP 4.1.0. Với khả năng truy cập tất cả các biến ở bất kỳ phạm vi nào, biến siêu toàn cầu đã giúp cho việc chia sẻ thông tin dễ dàng hơn bao giờ hết.

Biến siêu toàn cầu trong PHP - Superglobals

Một số biến được định nghĩa trước trong PHP gọi là "superglobals", tức là chúng luôn có thể truy cập bất kể phạm vi. Điều đặc biệt là chúng ta có thể truy cập các biến này từ bất kỳ hàm, lớp hoặc tệp nào mà không cần phải thực hiện bất kỳ việc đặc biệt nào.

Các biến siêu toàn cầu trong PHP bao gồm:

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

Trong bài viết này, chúng ta sẽ tìm hiểu về một số biến siêu toàn cầu quan trọng, phần còn lại sẽ được giải thích trong các chương sau.

Biến siêu toàn cầu $GLOBALS trong PHP

Biến siêu toàn cầu $GLOBALS trong PHP được sử dụng để truy cập các biến toàn cầu từ bất kỳ đâu trong mã lệnh PHP, bao gồm cả trong các hàm và các phương thức.

PHP lưu trữ tất cả các biến toàn cầu trong một mảng gọi là $GLOBALS[index]. Các chỉ số là tên của biến.

Dưới đây là một ví dụ về cách sử dụng biến siêu toàn cầu $GLOBALS:

function test() {
  $x = 5;
  echo $GLOBALS['x'];
}

test();

Kết quả:

5

Trong ví dụ trên, vì $x là một biến của mảng $GLOBALS, nó có thể truy cập từ bên ngoài hàm mà không cần phải truyền tham số.

Biến siêu toàn cầu $_SERVER trong PHP

Biến siêu toàn cầu $_SERVER trong PHP chứa thông tin về các tiêu đề, đường dẫn và vị trí tập lệnh. Điều này rất hữu ích khi chúng ta cần kiểm tra và xử lý các yêu cầu của người dùng.

Dưới đây là một ví dụ về việc sử dụng một số phần tử trong $_SERVER:

echo "Địa chỉ IP của bạn là: ".$_SERVER['REMOTE_ADDR'];
echo "Tên máy chủ: ".$_SERVER['SERVER_NAME'];

Kết quả:

Địa chỉ IP của bạn là: 127.0.0.1
Tên máy chủ: viettuts.vn

Bảng sau liệt kê một số phần tử quan trọng trong $_SERVER:

Phần tử Mô tả
$_SERVER['PHP_SELF'] Trả về tên file của tập lệnh hiện đang thực thi
$_SERVER['SERVER_ADDR'] Trả về địa chỉ IP của máy chủ lưu trữ
$_SERVER['SERVER_NAME'] Trả về tên của máy chủ lưu trữ
$_SERVER['SERVER_PORT'] Trả về port trên máy chủ đang được máy chủ web sử dụng cho giao tiếp

Biến siêu toàn cầu $_REQUEST trong PHP

Biến siêu toàn cầu $_REQUEST trong PHP được sử dụng để thu thập dữ liệu sau khi gửi HTML FORM. Điều này giúp chúng ta dễ dàng lấy giá trị từ các trường nhập trong form.

Dưới đây là một ví dụ về việc sử dụng biến siêu toàn cầu $_REQUEST:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $name = $_REQUEST['name'];
  echo "Xin chào, ".$name;
}

Kết quả:

Xin chào, nguyen

Biến siêu toàn cầu $_POST trong PHP

Biến siêu toàn cầu $_POST trong PHP được sử dụng rộng rãi để thu thập dữ liệu từ HTML Form có method="post". Ngoài ra, $_POST cũng cho phép truyền các biến khác cho xử lý.

Dưới đây là một ví dụ về việc sử dụng biến siêu toàn cầu $_POST:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $name = $_POST['name'];
  $email = $_POST['email'];
  echo "Thông tin đã được gửi: ".$name.", ".$email;
}

Kết quả:

Thông tin đã được gửi: Nguyen, example@gmail.com

Biến siêu toàn cầu $_GET trong PHP

Biến siêu toàn cầu $_GET trong PHP cũng có thể được sử dụng để thu thập dữ liệu từ HTML Form có method="get". Ngoài ra, $_GET cũng có thể thu thập dữ liệu từ các tham số được gửi trong URL.

Ví dụ, URL sau chứa các tham số: "test-get.php?subject=PHP&web=viettuts.vn"

Khi người dùng truy cập liên kết trên trình duyệt, các tham số "subject" và "web" sẽ được gửi đến "test-get.php".

Dưới đây là một ví dụ về việc sử dụng biến siêu toàn cầu $_GET:

$subject = $_GET['subject'];
$web = $_GET['web'];
echo "Chủ đề: ".$subject;
echo "Website: ".$web;

Kết quả:

Ví dụ biến $_GET trong PHP

Với biến siêu toàn cầu trong PHP, việc chia sẻ thông tin giữa các phạm vi trở nên dễ dàng hơn bao giờ hết. Bạn có thể truy cập và sử dụng các biến này mà không cần phải lo lắng về việc truyền tham số hay tạo thêm các biến mới.

1