Site logo

PHP Development

Tìm hiểu biến siêu toàn cục trong PHP

Biến siêu toàn cục trong PHP (PHP Super Globals)

Biến siêu toàn cục (Super Globals) trong PHP là các biến tích hợp sẵn có phạm vi toàn cục, có thể truy cập từ bất kỳ đâu trong mã nguồn của bạn. Các biến này cung cấp một cách tiện lợi để truy cập dữ liệu từ các nguồn khác nhau như biểu mẫu, URL, cookie, và phiên.

Các biến siêu toàn cục phổ biến

$_GET

Biến $_GET được sử dụng để thu thập dữ liệu từ các tham số URL. Dữ liệu được gửi qua phương thức GET.

Ví dụ

// URL: http://example.com/index.php?name=John&age=25
$name = $_GET['name'];
$age = $_GET['age'];
echo "Name: $name, Age: $age"; // Output: Name: John, Age: 25

$_POST

Biến $_POST được sử dụng để thu thập dữ liệu từ các biểu mẫu HTML. Dữ liệu được gửi qua phương thức POST.

Ví dụ

// HTML Form
/*
<form method="post" action="index.php">
    Name: <input type="text" name="name">
    Age: <input type="text" name="age">
    <input type="submit">
</form>
*/

// PHP
$name = $_POST['name'];
$age = $_POST['age'];
echo "Name: $name, Age: $age";

$_REQUEST

Biến $_REQUEST được sử dụng để thu thập dữ liệu từ cả phương thức GET và POST.

Ví dụ

$name = $_REQUEST['name'];
$age = $_REQUEST['age'];
echo "Name: $name, Age: $age";

$_SERVER

Biến $_SERVER chứa thông tin về máy chủ và môi trường thực thi. Nó cung cấp nhiều thông tin hữu ích như tiêu đề, đường dẫn, và vị trí tập lệnh.

Ví dụ

echo $_SERVER['PHP_SELF']; // Tên tập lệnh hiện tại
echo $_SERVER['SERVER_NAME']; // Tên máy chủ
echo $_SERVER['HTTP_HOST']; // Tiêu đề Host
echo $_SERVER['HTTP_USER_AGENT']; // Thông tin User-Agent
echo $_SERVER['SCRIPT_NAME']; // Đường dẫn tập lệnh hiện tại

$_FILES

Biến $_FILES được sử dụng để thu thập dữ liệu từ các tệp được tải lên thông qua biểu mẫu HTML.

Ví dụ

// HTML Form
/*
<form method="post" action="upload.php" enctype="multipart/form-data">
    Select file: <input type="file" name="fileToUpload">
    <input type="submit" value="Upload File">
</form>
*/

// PHP
$file = $_FILES['fileToUpload'];
echo "File name: " . $file['name'];
echo "File type: " . $file['type'];
echo "File size: " . $file['size'];

Biến $_COOKIE được sử dụng để thu thập dữ liệu từ các cookie.

Ví dụ

// Thiết lập cookie
setcookie("user", "John", time() + 3600); // Cookie tồn tại trong 1 giờ

// Truy cập cookie
echo $_COOKIE['user']; // Output: John

$_SESSION

Biến $_SESSION được sử dụng để thu thập dữ liệu từ các phiên (session).

Ví dụ

// Bắt đầu phiên
session_start();

// Thiết lập biến phiên
$_SESSION['user'] = "John";

// Truy cập biến phiên
echo $_SESSION['user']; // Output: John

$_ENV

Biến $_ENV được sử dụng để thu thập dữ liệu từ các biến môi trường.

Ví dụ

echo $_ENV['PATH']; // Output: Đường dẫn hệ thống

Kết luận

Biến siêu toàn cục trong PHP cung cấp một cách tiện lợi để truy cập dữ liệu từ nhiều nguồn khác nhau. Bằng cách hiểu và sử dụng các biến siêu toàn cục như $_GET, $_POST, $_REQUEST, $_SERVER, $_FILES, $_COOKIE, $_SESSION, và $_ENV, bạn có thể viết mã PHP linh hoạt và mạnh mẽ hơn.