Home  >  Article  >  Backend Development  >  PHP Global Variables - Superglobal Variables

PHP Global Variables - Superglobal Variables

巴扎黑
巴扎黑Original
2016-11-12 09:45:251066browse

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 ff9c23ada1bcecdd1a0fb5d5a0f18437 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 ff9c23ada1bcecdd1a0fb5d5a0f18437 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