Variáveis globais do PHP - Variáveis superglobais
- Página Anterior Ordenação de Array PHP
- Próxima Página Processamento de Formulários PHP
As variáveis superglobais foram introduzidas no PHP 4.1.0 e são variáveis internas que estão sempre disponíveis em todo o escopo.
Variáveis globais do PHP - Variáveis superglobais
Muitas variáveis pré-definidas do PHP são 'superglobais', o que significa que estão disponíveis em todo o escopo do script. Não é necessário executar global $variable; para acessá-las em funções ou métodos.
Essas variáveis superglobais são:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
Esta seção apresentará algumas variáveis superglobais e outras variáveis superglobais serão explicadas em capítulos posteriores.
$GLOBALS — Referência a todas as variáveis disponíveis no escopo global
A variável global $GLOBALS é usada para acessar variáveis globais em qualquer localização do script de PHP (desde funções ou métodos).
O PHP armazena todas as variáveis globais em um array chamado $GLOBALS[index]. O nome da variável é a chave do array.
O exemplo a seguir mostra como usar a variável superglobal $GLOBALS:
Exemplo
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
No exemplo acima, devido a z ser uma variável do array $GLOBALS, ela pode ser acessada fora da função.
PHP $_SERVER
A variável superglobal $_SERVER armazena informações sobre cabeçalhos, caminhos e localização do script.
O exemplo a seguir mostra como usar alguns elementos do $_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']; ?>
A tabela a seguir lista os elementos mais importantes que você pode acessar em $_SERVER:
Elemento/ Código | Descrição |
---|---|
$_SERVER['PHP_SELF'] | Retorna o nome do arquivo onde o script está executando. |
$_SERVER['GATEWAY_INTERFACE'] | Retorna a versão do padrão CGI usado pelo servidor. |
$_SERVER['SERVER_ADDR'] | Retorna o endereço IP do servidor onde o script está executando. |
$_SERVER['SERVER_NAME'] | Retorna o nome do host do servidor onde o script está executando (por exemplo, www.codew3c.com). |
$_SERVER['SERVER_SOFTWARE'] | Retorna a string de identificação do servidor (por exemplo, Apache/2.2.24). |
$_SERVER['SERVER_PROTOCOL'] | Retorna o nome e a versão do protocolo de comunicação usado para solicitar a página (por exemplo, “HTTP/1.0”) |
$_SERVER['REQUEST_METHOD'] | Retorna o método de solicitação usado para acessar a página (por exemplo, POST). |
$_SERVER['REQUEST_TIME'] | Retorna o timestamp do início da solicitação (por exemplo, 1577687494). |
$_SERVER['QUERY_STRING'] | Retorna a string de consulta, se acessar esta página através de uma string de consulta. |
$_SERVER['HTTP_ACCEPT'] | Retorna os cabeçalhos da solicitação da solicitação atual. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Retorna o cabeçalho Accept_Charset da solicitação atual (por exemplo, utf-8, ISO-8859-1) |
$_SERVER['HTTP_HOST'] | Retorna o cabeçalho Host da solicitação atual. |
$_SERVER['HTTP_REFERER'] | Retorna a URL completa da página atual (não confiável, pois não todos os agentes de usuário suportam). |
$_SERVER['HTTPS'] | Se é através do protocolo HTTP seguro que consulta scripts. |
$_SERVER['REMOTE_ADDR'] | Retorna o endereço IP do usuário que está navegando na página atual. |
$_SERVER['REMOTE_HOST'] | Retorna o nome do host do usuário que está navegando na página atual. |
$_SERVER['REMOTE_PORT'] | Retorna o número da porta usada pelo cliente para se conectar ao servidor web. |
$_SERVER['SCRIPT_FILENAME'] | Retorna o caminho absoluto do script atual em execução. |
$_SERVER['SERVER_ADMIN'] | Este valor especifica o parâmetro SERVER_ADMIN no arquivo de configuração do servidor Apache. |
$_SERVER['SERVER_PORT'] | O porta usada pelo servidor web. O valor padrão é “80”. |
$_SERVER['SERVER_SIGNATURE'] | Retorna a versão do servidor e o nome do host virtual. |
$_SERVER['PATH_TRANSLATED'] | O caminho básico do sistema de arquivos do script atual (não o diretório raiz do documento). |
$_SERVER['SCRIPT_NAME'] | Retorna o caminho do script atual. |
$_SERVER['SCRIPT_URI'] | Retorna a URI da página atual. |
PHP $_REQUEST
PHP $_REQUEST é usado para coletar os dados do formulário submetido HTML.
O exemplo a seguir mostra um formulário que contém campos de entrada e um botão de envio. Quando o usuário clicar no botão de envio para enviar dados do formulário, os dados do formulário serão enviados para o arquivo especificado na propriedade action do tag <form>. Neste exemplo, especificamos o arquivo em si para processar os dados do formulário. Se você precisar usar outro arquivo PHP para processar os dados do formulário, altere para o nome do arquivo escolhido. Em seguida, podemos usar a variável global super $_REQUEST para coletar os valores dos campos de entrada:
Exemplo
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Nome: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_REQUEST['fname']; echo $name; ?> </body> </html>
PHP $_POST
PHP $_POST é amplamente utilizado para coletar os dados do formulário após a submissão method="post" do HTML formulário. $_POST também é frequentemente usado para passar variáveis.
O exemplo a seguir mostra um formulário que contém campos de entrada e um botão de envio. Quando o usuário clica no botão de envio para enviar dados, os dados do formulário serão enviados para o arquivo especificado na propriedade action do tag <form>. Neste exemplo, especificamos o arquivo em si para processar os dados do formulário. Se você desejar usar outra página PHP para processar os dados do formulário, altere para o nome do arquivo escolhido. Em seguida, podemos usar a variável global super $_POST para coletar os valores dos campos de entrada:
Exemplo
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Nome: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET também pode ser usado para coletar dados do formulário HTML (method="get") após o envio.
$_GET também pode coletar dados enviados na URL.
Suponha que tenhamos uma página com hiperlinks parametrizados:
<html> <body> <a href="test_get.php?subject=PHP&web=codew3c.com">Testar $GET</a> </body> </html>
Quando o usuário clicar no link "Testar $GET", os parâmetros "subject" e "web" serão enviados para "test_get.php", e então você pode acessar esses valores em "test_get.php" através de $_GET.
O exemplo a seguir é o código do "test_get.php":
Exemplo
<html> <body> <?php echo "Estudando " . $_GET['web'] . " em " . $_GET['subject']; ?> </body> </html>
Dica:Você estará Formulários PHP Nesta seção, você aprenderá mais sobre $_POST e $_GET.
- Página Anterior Ordenação de Array PHP
- Próxima Página Processamento de Formulários PHP