tutoriais mais recente desenvolvimento web
 

PHP 5 variáveis ​​globais - Superglobais


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.