biến toàn cục trong php
biến toàn cục trong php

1. Biến toàn cục trong PHP – Giới thiệu

Biến toàn cục trong PHP đã được giới thiệu trong PHP 4.1.0 và được xây dựng trong các biến mà luôn luôn có sẵn trong tất cả các phạm vi

2. Biến toàn cục trong PHP – Superglobals

Một vài biến số được xác định trong PHPBiến toàn cục (Superglobals), có nghĩa là chúng luôn có thể truy cập, không phân biệt phạm vi – và bạn có thể truy cập chúng từ bất kỳ hàm, lớp hoặc tệp nào mà không cần phải làm gì đặc biệt.

Các Biến toàn cục trong PHP gồm có như sau:

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

Chương này sẽ giải thích một số Biến toàn cục (Superglobals), và phần còn lại sẽ được giải thích trong các chương sau.

3. PHP $GLOBALS

$GLOBALS là một biến toàn cục trong PHP, được sử dụng để truy cập các biến toàn cục từ bất cứ nơi nào trong tập lệnh PHP (cũng từ trong các hàm hoặc các phương thức).

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

Ví dụ dưới đây chỉ ra cách sử dụng biến toàn cục $GLOBALS:

Thí dụ

Chạy ví dụ »

Trong ví dụ trên, vì z là một biến có trong mảng $GLOBALS, nó cũng có thể truy cập từ bên ngoài hàm!

4. PHP $_SERVER

$_SERVER là một biến toàn cục trong PHP  là một siêu dữ liệu chứa các thông tin về tiêu đề, đường dẫn, và các địa chỉ mã lệnh.

Ví dụ dưới đây chỉ ra cách sử dụng một số phần tử trong $_SERVER:

Thí dụ

Chạy ví dụ »

 

Bảng danh sách các tùy chọn khác của $_SERVER:

Biến Mô tả
$_SERVER[‘PHP_SELF’] Trả về tên tệp của tập lệnh đang thực thi
$_SERVER[‘GATEWAY_INTERFACE’] Trả về phiên bản của Common Gateway Interface (CGI) mà máy chủ đang sử dụng
$_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ữ (chẳng hạn như www.phpcanban.com)
$_SERVER[‘SERVER_SOFTWARE’] Trả về chuỗi xác định máy chủ (chẳng hạn như Apache / 2.2.24)
$_SERVER[‘SERVER_PROTOCOL’] Trả về tên và phiên bản của giao thức thông tin (như HTTP / 1.1)
$_SERVER[‘REQUEST_METHOD’] Trả lại phương thức yêu cầu được sử dụng để truy cập trang (như POST)
$_SERVER[‘REQUEST_TIME’] Trả về mốc thời gian bắt đầu gửi yêu cầu đến máy chủ dữ liệu (như 1377687496)
$_SERVER[‘QUERY_STRING’] Trả về chuỗi truy vấn nếu trang được truy cập thông qua một chuỗi truy vấn
$_SERVER[‘HTTP_ACCEPT’] Trả về Accept header từ yêu cầu truy cập đến máy chủ dữ liệu hiện tại
$_SERVER[‘HTTP_ACCEPT_CHARSET’] Trả về Accept_Charset header từ yêu cầu truy cập đến máy chủ dữ liệu hiện tại (như utf-8, ISO-8859-1)
$_SERVER[‘HTTP_HOST’] Trả về Host header từ yêu cầu truy cập đến máy chủ dữ liệu hiện tại
$_SERVER[‘HTTP_REFERER’] Trả về URL đầy đủ của trang hiện tại (không đáng tin cậy bởi vì không phải tất cả các máy chủ đều hỗ trợ nó)
$_SERVER[‘HTTPS’] Là câu truy vấn thông qua một giao thức HTTP an toàn
$_SERVER[‘REMOTE_ADDR’] Trả về địa chỉ IP từ nơi người dùng đang xem trang hiện tại
$_SERVER[‘REMOTE_HOST’] Trả về tên máy chủ lưu trữ từ nơi người dùng đang xem trang hiện tại
$_SERVER[‘REMOTE_PORT’] Trả về cổng được sử dụng trên máy của người dùng để giao tiếp với máy chủ web
$_SERVER[‘SCRIPT_FILENAME’] Trả về tên đường dẫn tuyệt đối của mã lệnh đang thực thi
$_SERVER[‘SERVER_ADMIN’] Trả về giá trị được cấp cho SERVER_ADMIN trong tệp cấu hình máy chủ web (nếu tập lệnh của bạn chạy trên máy chủ ảo, nó sẽ là giá trị được xác định cho máy chủ ảo đó) (chẳng hạn như someone@phpcanban.com)
$_SERVER[‘SERVER_PORT’] Trả về cổng trên máy chủ đang được sử dụng bởi máy chủ web để truyền thông tin (như 80)
$_SERVER[‘SERVER_SIGNATURE’] Trả về phiên bản máy chủ và tên máy chủ ảo được thêm vào các trang do máy chủ tạo ra
$_SERVER[‘PATH_TRANSLATED’] Trả về đường dẫn của hệ thống dựa trên tệp vào tập lệnh hiện tại
$_SERVER[‘SCRIPT_NAME’] Trả về đường dẫn của mã lệnh hiện tại
$_SERVER[‘SCRIPT_URI’] Trả về URI của trang hiện tại
Chạy ví dụ »

5. PHP $_REQUEST

PHP $_REQUEST được sử dụng để lưu trữ dữ liệu sau khi gửi một form trong HTML

Các bạn chèn đoạn mã dưới đây vào 1 file có đuôi là “.php” sau đó mở file trong trình duyệt web ví dụ: phpcanban.com/demo.php

Truyền tham số vào input nhé, ở đây mình lấy ví dụ là “Jonh” sau đó nhấp vào nút submit sẽ thu được kết quả trên màn hình là : Jonh

Thí dụ

Chạy ví dụ »

6. PHP $ _POST

PHP $_POST được sử dụng rộng rãi để thu thập dữ liệu biểu mẫu sau khi gửi một form HTML với method = “post”.

$ _POST cũng được sử dụng rộng rãi để chuyển các biến.

Các bạn chèn đoạn mã dưới đây vào 1 file có đuôi là “.php” sau đó mở file trong trình duyệt web ví dụ: phpcanban.com/demo.php

Truyền tham số vào input nhé, ở đây mình lấy ví dụ là “Jonh” sau đó nhấp vào nút submit sẽ thu được kết quả trên màn hình là : Jonh

Thí dụ

Chạy ví dụ »

7. PHP $ _GET

PHP $_GET cũng có thể được sử dụng để thu thập dữ liệu biểu mẫu sau khi gửi một form HTML với method = “get”.

$_GET cũng có thể thu thập dữ liệu được gửi trong URL.

Thí dụ:

Bạn có 1 trang với URL là : phpcanban.com/demo.php?name=thao&age=20

Trong trang đó bạn dùng biến $_GET[“name”] để lấy giá trị là : thảo

Trong trang đó bạn dùng biến $_GET[“age”] để lấy giá trị là : 20

Chạy ví dụ »

8. Lời kết

Như vậy các bạn đã hiểu sơ lược Biến toàn cục trong PHP là như thế nào. Để đi vào chi tiết các bạn theo dõi các bài tiếp theo nhé 🙂 Lộ trình học PHP căn bản

Nguồn: phpcanban.com

 

Biến toàn cục trong PHP (Superglobals) – Chương 15
5 (100%) 1 vote

Chia sẻ
Bài trướcSắp xếp mảng trong PHP (Sorting Arrays) – Chương 14
Bài tiếp theoXử lý form trong PHP – Chương 1
Mình là Nguyễn Công! Mình bắt đầu kiếm tiền Online từ năm 2017 và nhờ đó mà có thu nhập rất ổn định. Mình chia sẽ những dự án kiếm tiền Online tốt nhất đã được khảo sát và chắt lọc cho các bạn. Hy vọng thông qua những bài viết phân tích đánh giá ICO các bạn sẽ đưa ra quyết định đầu tư thành công!. Chúc các bạn một ngày nhiều niềm vui! Group Facebook: https://goo.gl/CXVpWU Group Telegram: https://goo.gl/7w3c4t

BÌNH LUẬN

Please enter your comment!
Please enter your name here