PHP tồn tại một vài biến mà chúng luôn có thể truy cập không phân biệt phạm vi, có thể truy cập chúng từ bất kỳ hàm lớp hoặc tệp nào đó chính là biến toàn cục.

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

  1. $ GLOBALS
  2. $ _SERVER
  3. $ _REQUEST
  4. $ _POST
  5. $ _GET
  6. $ _FILES
  7. $ _ENV
  8. $ _COOKIE
  9. $ _SESSION

Trong bài hôm nay mình sẽ phân tích về 2 biến toàn cục trong PHP đó là biến $_request và $_server

$_server và $_request trong 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:

Ví Dụ

<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>

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

PHP $_REQUEST

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

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

<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = $_REQUEST['fname'];
if (empty($name)) {
echo "Name is empty";
} else {
echo $name;
}
}
?>

</body>
</html>

Viết câu trả lời

Drop Images