Mảng toàn cầu php

PHP Superglobals là một số mảng cung cấp cho tập lệnh PHP quyền truy cập toàn cầu vào dữ liệu có nguồn gốc từ bên ngoài. Trong khi các tập lệnh PHP chứa các biến cục bộ của tập lệnh đó và các hàm có thể có các biến chỉ có thể truy cập được trong hàm đó, do đó, PHP Superglobals đại diện cho dữ liệu đến từ URL, biểu mẫu HTML, cookie, phiên và chính máy chủ Web

$HTTP_GET_VARS, $HTTP_POST_VARS, v.v. , phục vụ những mục đích tương tự nhưng các biến siêu toàn cầu PHP tốt hơn ở chỗ chúng cũng có thể được truy cập trong bất kỳ chức năng nào [i. e. , chúng có phạm vi toàn cầu]

Mảng siêu toàn cục trong PHP

  • $_GET – các biến được truyền vào một trang trên chuỗi truy vấn
  • $_POST – các biến được truyền vào một trang thông qua một biểu mẫu bằng phương thức đăng
  • $_SERVER – biến môi trường máy chủ e. g,$_SERVER[‘HTTP_REFERER’] trả về URL của trang giới thiệu]
  • $_COOKIE – biến cookie
  • $_FILES – biến chứa thông tin về các tệp đã tải lên
  • $_ENV – Biến môi trường PHP [e. g, $_ENV[‘HTTP_HOST’] trả về tên của máy chủ lưu trữ. [xem chú thích]
  • $_REQUEST – các biến được truyền vào một trang thông qua biểu mẫu, chuỗi truy vấn và cookie
  • $_SESSION – biến phiên
  • $_GET $_GET Superglobal đại diện cho dữ liệu được gửi tới tập lệnh PHP trong một URL. Điều này áp dụng cho cả các URL được truy cập trực tiếp                         [e. g. , http. //www. thí dụ. com/trang. php?id=2] và gửi biểu mẫu sử dụng phương thức GET
  • $_POST $_POST Superglobal được sử dụng để gửi dữ liệu tới tập lệnh PHP thông qua HTTP POST. Đây thường là một biểu mẫu có phương thức POST
  • $_COOKIE $_COOKIE Superglobal đại diện cho dữ liệu có sẵn cho tập lệnh PHP thông qua cookie HTTP
  • $_REQUEST $_REQUEST Superglobal là sự kết hợp của $_GET, $_POST và $_COOKIE
  • $_SESSION $_SESSION Superglobal đại diện cho dữ liệu có sẵn cho một tập lệnh PHP đã được lưu trữ trước đó trong một phiên
  • $_SERVER $_SERVER Superglobal đại diện cho dữ liệu có sẵn cho một tập lệnh PHP từ chính máy chủ Web. Các cách sử dụng phổ biến của $_SERVER là để chỉ tập lệnh PHP hiện tại [$_SERVER[‘PHP_SELF’]], đường dẫn trên máy chủ tới tập lệnh đó, tên máy chủ, v.v.
  • $_ENV $_ENV Superglobal đại diện cho dữ liệu có sẵn cho tập lệnh PHP từ môi trường mà PHP đang chạy
  • $_FILES $_FILES Superglobal đại diện cho dữ liệu có sẵn cho một tập lệnh PHP từ tải lên tệp HTTP POST. Sử dụng $_FILES là cách hiện được ưu tiên để xử lý các tệp đã tải lên trong PHP

Một PHP Superglobal khác, được gọi là $GLOBALS, lưu trữ mọi biến có phạm vi toàn cầu, bao gồm các biến ở trên. Không giống như các Superglobal khác, $GLOBALS đã xuất hiện từ PHP 3

Cân nhắc về Bảo mật

Một khía cạnh quan trọng của bảo mật ứng dụng Web là đề cập đến các biến với độ chính xác, đó là lý do tại sao việc dựa vào register_globals là không tốt. Vì lý do tương tự, người ta không nên sử dụng $_REQUEST vì nó ít chính xác hơn và do đó kém an toàn hơn so với việc đề cập rõ ràng đến $_GET, $_POST hoặc $_COOKIE. Hơn nữa, thứ tự mà dữ liệu GET, POST và COOKIE được tải vào mảng $_REQUEST được quyết định bởi cấu hình các biến_đặt hàng của PHP, do đó, cùng một tham chiếu đến $_REQUEST trong tập lệnh PHP có thể hoạt động khác nhau trên các máy chủ khác nhau

Biến toàn cục đề cập đến bất kỳ biến nào được xác định bên ngoài hàm. Các biến toàn cục có thể được truy cập từ bất kỳ phần nào của tập lệnh i. e. bên trong và bên ngoài chức năng. Vì vậy, một biến toàn cục có thể được khai báo giống như các biến khác nhưng nó phải được khai báo bên ngoài định nghĩa hàm

cú pháp

$variable_name = data;

Các chương trình dưới đây minh họa cách khai báo biến toàn cục

ví dụ 1




Chủ Đề