search
HomeBackend DevelopmentPHP TutorialPHP Global Variables - Superglobal Variables

PHP Global Variables - Superglobal Variables

Many of the predefined variables in PHP are "superglobal", meaning they are available throughout the entire scope of a script. They can be accessed within a function or method without executing global $variable;.

These superglobal variables are:

$GLOBALS

$_SERVER

$_REQUEST

$_POST

$_GET

$_FILES

$_ENV

$_COOKIE

$_SESSION

This section will introduce Some superglobal variables, and other superglobal variables will be explained in later chapters.

$GLOBALS — References all variables available in the global scope

$GLOBALS This global variable is used to access global variables from anywhere in a PHP script (either from a function or method).

PHP stores all global variables in an array called $GLOBALS[index]. The name of the variable is the key of the array.

The following example shows how to use the super global variable $GLOBALS:

Example

<?php 
$x = 75; 
$y = 25;
 
function addition() { 
  $GLOBALS[&#39;z&#39;] = $GLOBALS[&#39;x&#39;] + $GLOBALS[&#39;y&#39;]; 
}
 
addition(); 
echo $z; 
?>

Running Example

In the above example, since z is a variable in the $GLOBALS array, it can also be accessed outside the function .

PHP $_SERVER

$_SERVER This superglobal variable holds information about headers, paths and script locations.

The following example shows how to use some elements in $_SERVER:

Example

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

Running Example

The following table lists the most important elements you can access in $_SERVER:

Elements/Code Description

$_SERVER['PHP_SELF'] returns the file name of the currently executing script.

$_SERVER['GATEWAY_INTERFACE'] returns the version of the CGI specification used by the server.

$_SERVER['SERVER_ADDR'] returns the IP address of the server where the script is currently running.

$_SERVER['SERVER_NAME'] returns the host name of the server where the script is currently running (such as www.w3school.com.cn).

$_SERVER['SERVER_SOFTWARE'] returns the server identification string (such as Apache/2.2.24).

$_SERVER['SERVER_PROTOCOL'] Returns the name and version of the communication protocol used when the page was requested (for example, "HTTP/1.0").

$_SERVER['REQUEST_METHOD'] returns the request method used to access the page (such as POST).

$_SERVER['REQUEST_TIME'] returns the timestamp when the request started (e.g. 1577687494).

$_SERVER['QUERY_STRING'] returns the query string, if this page is accessed through the query string.

$_SERVER['HTTP_ACCEPT'] returns the request headers from the current request.

$_SERVER['HTTP_ACCEPT_CHARSET'] returns the Accept_Charset header from the current request (e.g. utf-8, ISO-8859-1)

$_SERVER['HTTP_HOST'] returns the Host header from the current request.

$_SERVER['HTTP_REFERER'] Returns the full URL of the current page (not reliable as not supported by all user agents).

$_SERVER['HTTPS'] Whether to query the script through the secure HTTP protocol.

$_SERVER['REMOTE_ADDR'] Returns the IP address of the user browsing the current page.

$_SERVER['REMOTE_HOST'] returns the host name of the user browsing the current page.

$_SERVER['REMOTE_PORT'] Returns the port number used on the user's machine to connect to the web server.

$_SERVER['SCRIPT_FILENAME'] returns the absolute path of the currently executing script.

$_SERVER['SERVER_ADMIN'] This value specifies the SERVER_ADMIN parameter in the Apache server configuration file.

$_SERVER['SERVER_PORT'] Port used by the web server. The default value is "80".

$_SERVER['SERVER_SIGNATURE'] returns the server version and virtual host name.

$_SERVER['PATH_TRANSLATED'] The base path of the file system (not the document root directory) where the current script is located.

$_SERVER['SCRIPT_NAME'] returns the path of the current script.

$_SERVER['SCRIPT_URI'] returns the URI of the current page.

PHP $_REQUEST

PHP $_REQUEST is used to collect data submitted by HTML forms.

The example below shows a form with input fields and a submit button. When a user submits form data by clicking the submit button, the form data is sent to the script file specified in the action attribute of the

tag. In this example, we specify the file itself to handle the form data. If you need to use other PHP files to process form data, please change the file name to the file name of your choice. Then, we can use the super global variable $_REQUEST to collect the value of the input field:

Instance

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

Running Example

PHP $_POST

PHP $_POST is widely used to collect the HTML form after submitting method="post" Form data. $_POST is also commonly used to pass variables.

The example below shows a form with input fields and a submit button. When the user clicks the submit button to submit the data, the form data is sent to the file specified in the action attribute of the

tag. In this example, we specify the file itself to handle the form data. If you wish to use another PHP page to handle the form data, change the file name to a file name of your choice. We can then use the superglobal variable $_POST to collect the value of the input field:

Instance

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

Run Instance

PHP $_GET

PHP $_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。

$_GET 也可以收集 URL 中的发送的数据。

假设我们有一张页面含有带参数的超链接:

<html>
<body>
<a href="test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a>
</body>
</html>

当用户点击链接 "Test $GET",参数 "subject" 和 "web" 被发送到 "test_get.php",然后您就能够通过 $_GET 在 "test_get.php" 中访问这些值了。

下面的例子是 "test_get.php" 中的代码:

实例

<html>
<body>
<?php 
echo "Study " . $_GET[&#39;subject&#39;] . " at " . $_GET[&#39;web&#39;];
?>
</body>
</html>


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Email: Step-by-Step Sending GuidePHP Email: Step-by-Step Sending GuideMay 09, 2025 am 12:14 AM

PHPisusedforsendingemailsduetoitsintegrationwithservermailservicesandexternalSMTPproviders,automatingnotificationsandmarketingcampaigns.1)SetupyourPHPenvironmentwithawebserverandPHP,ensuringthemailfunctionisenabled.2)UseabasicscriptwithPHP'smailfunct

How to Send Email via PHP: Examples & CodeHow to Send Email via PHP: Examples & CodeMay 09, 2025 am 12:13 AM

The best way to send emails is to use the PHPMailer library. 1) Using the mail() function is simple but unreliable, which may cause emails to enter spam or cannot be delivered. 2) PHPMailer provides better control and reliability, and supports HTML mail, attachments and SMTP authentication. 3) Make sure SMTP settings are configured correctly and encryption (such as STARTTLS or SSL/TLS) is used to enhance security. 4) For large amounts of emails, consider using a mail queue system to optimize performance.

Advanced PHP Email: Custom Headers & FeaturesAdvanced PHP Email: Custom Headers & FeaturesMay 09, 2025 am 12:13 AM

CustomheadersandadvancedfeaturesinPHPemailenhancefunctionalityandreliability.1)Customheadersaddmetadatafortrackingandcategorization.2)HTMLemailsallowformattingandinteractivity.3)AttachmentscanbesentusinglibrarieslikePHPMailer.4)SMTPauthenticationimpr

Guide to Sending Emails with PHP & SMTPGuide to Sending Emails with PHP & SMTPMay 09, 2025 am 12:06 AM

Sending mail using PHP and SMTP can be achieved through the PHPMailer library. 1) Install and configure PHPMailer, 2) Set SMTP server details, 3) Define the email content, 4) Send emails and handle errors. Use this method to ensure the reliability and security of emails.

What is the best way to send an email using PHP?What is the best way to send an email using PHP?May 08, 2025 am 12:21 AM

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

Best Practices for Dependency Injection in PHPBest Practices for Dependency Injection in PHPMay 08, 2025 am 12:21 AM

The reason for using Dependency Injection (DI) is that it promotes loose coupling, testability, and maintainability of the code. 1) Use constructor to inject dependencies, 2) Avoid using service locators, 3) Use dependency injection containers to manage dependencies, 4) Improve testability through injecting dependencies, 5) Avoid over-injection dependencies, 6) Consider the impact of DI on performance.

PHP performance tuning tips and tricksPHP performance tuning tips and tricksMay 08, 2025 am 12:20 AM

PHPperformancetuningiscrucialbecauseitenhancesspeedandefficiency,whicharevitalforwebapplications.1)CachingwithAPCureducesdatabaseloadandimprovesresponsetimes.2)Optimizingdatabasequeriesbyselectingnecessarycolumnsandusingindexingspeedsupdataretrieval.

PHP Email Security: Best Practices for Sending EmailsPHP Email Security: Best Practices for Sending EmailsMay 08, 2025 am 12:16 AM

ThebestpracticesforsendingemailssecurelyinPHPinclude:1)UsingsecureconfigurationswithSMTPandSTARTTLSencryption,2)Validatingandsanitizinginputstopreventinjectionattacks,3)EncryptingsensitivedatawithinemailsusingOpenSSL,4)Properlyhandlingemailheaderstoa

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment