Superglobais foram introduzidas no PHP 4.1.0, e são variáveis internas que estão sempre disponíveis em todos os âmbitos.
Variáveis PHP Global - Superglobais
Diversas variáveis pré-definidas no PHP "superglobals" , o que significa que eles estão sempre acessíveis, independentemente do escopo - e você pode acessá-los de qualquer função, classe ou arquivo sem ter que fazer nada especial.
variáveis O PHP superglobal são:
- $ GLOBALS
- $ _SERVER
- $ _REQUEST
- $ _ POST
- $ _GET
- $ _FILES
- $ _ENV
- $ _COOKIE
- $ _SESSION
Este capítulo irá explicar alguns dos superglobals, eo resto será explicado em capítulos posteriores.
PHP $ GLOBALS
$ GLOBALS é uma variável super global de PHP que é usado para acessar as variáveis globais de qualquer lugar do script PHP (também de dentro de funções ou métodos).
Lojas PHP todas as variáveis globais em um array chamado $ GLOBALS [ index ]. O índice contém o nome da variável.
O exemplo abaixo mostra como usar o super variável global $ GLOBALS:
Exemplo
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] =
$GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
Exemplo executar » No exemplo acima, uma vez que z é uma variável presente no interior da matriz $ GLOBAIS, também é acessível a partir de fora da função!
PHP $ _SERVER
$ _SERVER é uma variável super global de PHP que contém informações sobre cabeçalhos, caminhos e locais de script.
O exemplo abaixo mostra como usar alguns dos elementos em $ _SERVER:
Exemplo
<?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'];
?>
Exemplo executar » A tabela a seguir lista os elementos mais importantes que podem ir dentro de $ _SERVER:
Elemento / Código | Descrição |
---|---|
$ _SERVER [ 'PHP_SELF'] | Retorna o nome do arquivo do script atualmente em execução |
$ _SERVER [ 'GATEWAY_INTERFACE'] | Retorna a versão do Common Gateway Interface (CGI) o servidor está usando |
$ _SERVER [ 'SERVER_ADDR'] | Retorna o endereço IP do servidor host |
$ _SERVER [ 'SERVER_NAME'] | Retorna o nome do servidor host (such as www.w3ii.com) |
$ _SERVER [ 'SERVER_SOFTWARE'] | Retorna a string de identificação do servidor (such as Apache/2.2.24) |
$ _SERVER [ 'SERVER_PROTOCOL'] | Retorna o nome e revisão do protocolo de informações (such as HTTP/1.1) |
$ _SERVER [ 'REQUEST_METHOD'] | Retorna o método de solicitação usado para acessar a página (such as POST) |
$ _SERVER [ 'REQUEST_TIME'] | Retorna a data de início do pedido (such as 1377687496) |
$ _SERVER [ 'QUERY_STRING'] | Retorna a string de consulta se a página é acessada através de uma cadeia de consulta |
$ _SERVER [ 'HTTP_ACCEPT'] | Retorna o cabeçalho Accept da requisição atual |
$ _SERVER [ 'HTTP_ACCEPT_CHARSET'] | Retorna o cabeçalho Accept_Charset a partir do pedido de corrente (tal como utf-8, iso-8859-1) |
$ _SERVER [ 'HTTP_HOST'] | Retorna o cabeçalho do host da requisição atual |
$ _SERVER [ 'HTTP_REFERER'] | Retorna a URL completa da página atual (não confiável, porque nem todos os user-agents apoiá-lo) |
$ _SERVER [ 'HTTPS'] | É o roteiro consultado através de um protocolo HTTP seguro |
$ _SERVER [ 'REMOTE_ADDR'] | Retorna o endereço IP de onde o usuário está vendo a página atual |
$ _SERVER [ 'REMOTE_HOST'] | Retorna o nome do host de onde o usuário está vendo a página atual |
$ _SERVER [ 'REMOTE_PORT'] | Retorna a porta que está sendo usada na máquina do usuário para se comunicar com o servidor web |
$ _SERVER [ 'SCRIPT_FILENAME'] | Retorna o caminho absoluto o script atualmente em execução |
$ _SERVER [ 'SERVER_ADMIN'] | Retorna o valor dado à directiva SERVER_ADMIN no arquivo de configuração do servidor web (se o seu script é executado em uma máquina virtual, que será o valor definido para aquele host virtual) (such as [email protected]) |
$ _SERVER [ 'SERVER_PORT'] | Retorna a porta na máquina do servidor a ser usada pelo servidor da web para comunicação (such as 80) |
$ _SERVER [ 'SERVER_SIGNATURE'] | Retorna a versão do servidor e nome do host virtual que é adicionado às páginas geradas no servidor |
$ _SERVER [ 'PATH_TRANSLATED'] | Retorna o caminho base do sistema de arquivos para o script atual |
$ _SERVER [ 'SCRIPT_NAME'] | Retorna o caminho do script atual |
$ _SERVER [ 'SCRIPT_URI'] | Retorna o URI da página atual |
PHP $ _REQUEST
PHP $ _REQUEST é usado para coletar dados após a apresentação de um formulário HTML.
O exemplo abaixo mostra um formulário com um campo de entrada e um botão de envio. Quando um usuário envia os dados clicando em "Submit" , os dados do formulário é enviado para o arquivo especificado na action atributo do <form> tag. Neste exemplo, nós apontar para este arquivo em si para os dados de processamento. Se você quiser usar outro arquivo PHP para processar os dados do formulário, substitua que com o nome de sua escolha. Então, podemos usar o super variável global $ _REQUEST para recolher o valor do campo de entrada:
Exemplo
<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>
Exemplo executar » PHP $ _POST
PHP $ _POST é amplamente usado para coletar dados de formulário depois de enviar um formulário HTML com method = "post". $ _ POST também é amplamente usada para passar variáveis.
O exemplo abaixo mostra um formulário com um campo de entrada e um botão de envio. Quando um usuário envia os dados clicando em "Submit" , os dados do formulário é enviado para o arquivo especificado na action atributo do <form> tag. Neste exemplo, apontamos para o próprio arquivo de dados do formulário de processamento. Se você quiser usar outro arquivo PHP para processar os dados do formulário, substitua que com o nome de sua escolha. Então, podemos usar o super variável global $ _POST para recolher o valor do campo de entrada:
Exemplo
<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 = $_POST['fname'];
if (empty($name)) {
echo "Name
is empty";
} else {
echo $name;
}
}
?>
</body>
</html>
Exemplo executar » PHP $ _GET
PHP $ _GET também pode ser usado para coletar dados de formulário depois de enviar um formulário HTML com method = "get".
$ _GET também pode coletar dados enviados na URL.
Suponha que tenhamos uma página HTML que contém um hiperlink com parâmetros:
<html>
<body>
<a href="test_get.php?subject=PHP&web=w3ii.com">Test $GET</a>
</body>
</html>
Quando um usuário clica no link "Test $GET" , os parâmetros "subject" e "web" são enviados para "test_get.php" , e então você pode acessar seus valores em "test_get.php" com $ _GET.
O exemplo a seguir mostra o código em "test_get.php" :
Exemplo
<html>
<body>
<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>
</body>
</html>
Exemplo executar » Dica: Você vai aprender mais sobre $ _POST e $ _GET no PHP Forms capítulo.