Super variáveis ​​globais em PHP

Aqui, vamos examinar variáveis ​​superglobais do PHP com exemplos e avaliar como elas podem ser usadas efetivamente.

Como um recurso chave do PHP , ele pode lidar com variáveis ​​globais, que podem ser usadas em qualquer lugar dentro de um script PHP.

Como parte dessa lista de variáveis ​​globais, existe um conjunto de variáveis ​​especiais denominadas “superglobais”.

Esta lista de variáveis ​​é pré-definida pelo PHP e pode ser acessada de qualquer escopo a qualquer momento.

Esse recurso facilita o acesso e a edição de informações importantes, como entrada do usuário, informações do servidor e dados da sessão do banco de dados.



PHP Super Variáveis ​​Globais

Os superglobais do PHP são um conjunto de variáveis ​​predefinidas que podem ser chamadas em qualquer escopo, pois estão sempre disponíveis.

O PHP cria automaticamente essas variáveis ​​para que elas não possam ser sobrescritas pelo código do usuário e só possam ser modificadas pelo PHP.

Usando super global, os usuários podem acessar informações que foram inseridas pelos usuários, detalhes do servidor e informações da sessão usando uma interface.

PHP superglobals tem vários tipos, cada um com um propósito e funcionalidade diferentes.

As variáveis ​​super globais do PHP consistem no seguinte:

  1. $GLOBAIS
  2. $_SERVER
  3. $_REQUEST
  4. $_POST
  5. $_GET
  6. $_FILES
  7. $_ENV
  8. $_COOKIE
  9. $_SESSION

PHP Super Global – GLOBAIS

$GLOBALS é um dos superglobais fornecidos pelo PHP. Há uma série de variáveis ​​que podem ser acessadas através deste superglobal.

Essas variáveis ​​foram definidas no escopo global do seu script PHP, que você pode acessar.

Nesta seção, exploraremos os vários usos do superglobal $GLOBALS na programação PHP, analisando-o mais de perto e explorando como usá-lo.


PHP $GLOBAIS

Existe uma variável global no PHP que pode ser usada em qualquer parte do código. Uma dessas variáveis ​​globais é $GLOBALS.

O PHP Super Global permite que você acesse variáveis ​​no escopo global do seu script PHP. Ao fazer isso, é muito fácil para os usuários usar funções e métodos dentro de um módulo para acessar e modificar variáveis ​​globais.

Existe um array chamado $GLOBALS [index] no PHP que armazena todas as variáveis ​​globais que são afetadas pelo PHP.

Existe um índice em uma variável que contém o nome da variável.

Usando o exemplo abaixo, você verá como usar a variável super global $GLOBAL:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$a = 43;
$b = 17;
function sum() {
$GLOBALS['c'] = $GLOBALS['a'] + $GLOBALS['b'];
}
sum();
echo $c;
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

A variável c no exemplo acima também é acessível fora da função, pois pertence ao array $GLOBALS!

No exemplo abaixo, estamos usando a variável $GLOBAL para editar o array na função editableArray() :

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$arr = array(1, 5, 4);
function editableArray() {
$GLOBALS['arr']['0'] = 6;
}
editableArray();
print_r($arr);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

O exemplo acima define um array $arr com três valores (1, 5, 4). Em seguida, define uma função editableArray() que usa o super global $GLOBALS para modificar o primeiro valor da matriz $arr de 1 a 6.

Quando a função editableArray() é chamada, ela usa o super global $GLOBALS para modificar o primeiro valor de $arr.

O super global $GLOBALS é um tipo especial de variável que está sempre disponível e permite que você acesse variáveis ​​globais de qualquer lugar em seu código PHP. Neste caso, estamos usando $GLOBALS para acessar a variável $arr e modificar seu primeiro elemento.

Depois de modificar o primeiro elemento de $arr , a função retorna e o array modificado é impresso na tela usando a função print_r() . A saída de print_r($arr) será:

PHP Superglobais globais

Como você pode ver, o primeiro elemento do array $arr foi alterado de 1 para 6, assim como o modificamos na função editableArray() usando o super global $GLOBALS.


PHP Super Globals – SERVIDOR

Existem alguns super globais que são comumente usados. Um dos mais populares é $_SERVER . Esse superglobal fornece acesso a uma variedade de variáveis ​​de servidor e ambiente.

Basicamente, $_SERVER é um array que contém informações sobre o ambiente atual no qual o script está sendo executado. Essas informações incluem o servidor web, o endereço IP do cliente, o método de solicitação e assim por diante, para executar esse script.

Nesta seção do artigo, estamos examinando PHP super global $ _SERVER – também discutimos alguns casos de uso comuns dele.

PHP Super Global $_SERVER

Como uma supervariável global, $_SERVER é um array de informações que são armazenadas no PHP. Ele fornece informações sobre o servidor e o ambiente no qual o script foi executado. Há vários tipos diferentes de informações contidas nele, como cabeçalhos, caminhos de script e números de porta.

Usá-lo em programas PHP pode fornecer várias informações detalhadas sobre o ambiente atual em seu sistema.

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
echo $_SERVER['PHP_SELF'];
echo "
";
echo $_SERVER['SERVER_NAME'];
echo "
";
echo $_SERVER['SCRIPT_NAME'];
echo "
";
echo $_SERVER['SERVER_ADDR'];
echo "
";
echo $_SERVER['SERVER_SOFTWARE'];
echo "
";
echo $_SERVER['SERVER_PROTOCOL'];
echo "
";
echo $_SERVER['HTTP_HOST'];
echo "
";
echo $_SERVER['HTTP_REFERER'];
echo "
";
echo $_SERVER['HTTP_USER_AGENT'];
echo "
";
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Abaixo está listada uma tabela que ilustra alguns dos elementos mais importantes que podem ser colocados dentro de $_SERVER em relação ao PHP Super Globals Server:

elementos Visão geral
$_SERVER['PHP_SELF'] Esta função retorna o nome do script que está sendo
executado no momento como um nome de arquivo
$_SERVER['GATEWAY_INTERFACE'] Esta função retorna o valor que indica qual versão do
Common Gateway Interface (CGI) o servidor está usando
$_SERVER['SERVER_ADDR'] Esta função retorna o endereço IP do servidor host como o valor do
argumento
$_SERVER['SERVER_NAME'] Essa função retorna o nome do servidor que atende à solicitação (por
exemplo, o nome de domínio mrexamples.com).
$_SERVER['SERVER_SOFTWARE'] Esta função retorna a string que identifica o servidor (como
Apache/2.2.24)
$_SERVER['SERVER_PROTOCOL'] Esta função retorna o nome e a revisão do protocolo de informação
(por exemplo, HTTP/1.1 é retornado).
$_SERVER['REQUEST_METHOD'] Nesse método, é retornado o método request, como POST, que
indica como a página foi acessada.
$_SERVER['REQUEST_TIME'] Essa função retorna o carimbo de data/hora em que a solicitação foi
iniciada (por exemplo, 1377687496).
$_SERVER['QUERY_STRING'] A string de consulta é retornada se uma string de consulta for usada para acessar a
página
$_SERVER['HTTP_ACCEPT'] Esta função retorna o cabeçalho Accept da solicitação atual.
$_SERVER['HTTP_ACCEPT_CHARSET'] Haverá um valor de retorno para o cabeçalho Accept_Charset da
solicitação atual (como UTF-8, ISO-8859-1).
$_SERVER['HTTP_HOST'] Esta função retorna o cabeçalho do host da solicitação atual que
foi feita.
$_SERVER['HTTP_REFERER'] Este método fornece a URL completa da página atual (não
confiável devido ao fato de que nem todos os agentes de usuário suportam este
método).
$_SERVER['HTTPS'] O script seria acessado por meio de um protocolo HTTP seguro se fosse
acessado
$_SERVER['REMOTE_ADDR'] Esta função retorna o endereço IP do computador do qual o
usuário está visualizando a página atual
$_SERVER['REMOTE_HOST'] Esta função retorna o nome do host de onde a
página atual está sendo visualizada pelo usuário
$_SERVER['REMOTE_PORT'] Você pode usar este método para descobrir qual porta o servidor web está usando
para se comunicar com a máquina do usuário
$_SERVER['SCRIPT_FILENAME'] Esta função retorna o caminho absoluto do script que está
sendo executado no momento
$_SERVER['SERVER_ADMIN'] Esta função retorna o valor que foi definido para a
diretiva SERVER_ADMIN no arquivo de configuração do servidor web (este
valor será o valor que seu script executa em um host virtual se
seu script for executado em um definido para esse host virtual) (ou seja,
someone@ mrexamples.com , por exemplo)
$_SERVER['SERVER_PORT'] Este método retorna a porta que está sendo usada atualmente pelo
servidor web para comunicação (como 80) na máquina do servidor
$_SERVER['SERVER_SIGNATURE'] A função retorna a versão do servidor e o nome do host virtual que
foram adicionados às páginas geradas pelo servidor.
$_SERVER['PATH_TRANSLATED'] Este método retorna o caminho para o script atual com base no
sistema de arquivos
$_SERVER['SCRIPT_NAME'] Esta função retorna o caminho para o script que está
sendo executado no momento
$_SERVER['SCRIPT_NAME'] Esta função retorna o URI da página atual no servidor

PHP Super Global – PEDIDO

A variável $_REQUEST contém os valores de $_GET e $_POST e também os valores de quaisquer cookies que possam ser enviados junto com a solicitação.

Pode ser muito conveniente usar $_REQUEST em situações em que você deseja usar o mesmo código para lidar com solicitações GET e POST .

Observação: certos riscos de segurança associados ao uso de $_REQUEST podem tornar seu código vulnerável a ataques como cross-site scripting (XSS) e injeção de SQL se não forem configurados corretamente, por isso é importante estar ciente deles também .

PHP $_REQUEST

A variável $_REQUEST é uma variável super global do PHP que é responsável por coletar dados no envio de um formulário HTML ao servidor.

No exemplo abaixo, você verá um formulário com um campo de entrada e um botão de envio na parte inferior. Um usuário que clica no botão enviar envia os dados do formulário para o arquivo especificado no atributo action da tag.

Como exemplo, vamos apontar os dados do formulário para este arquivo para processar os dados do formulário. Você pode substituir este arquivo PHP pelo nome do arquivo PHP que deseja usar para processar os dados do formulário.

Para coletar o valor do campo de entrada em resposta à requisição, podemos usar a supervariável global PHP $_REQUEST da seguinte forma:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Username: <input type="text" name="username">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"]== "POST") {
// collecting input data
$u_name= $_REQUEST["username"];
if (empty($u_name)) {
echo "Name is empty";
} else {
echo $u_name;
}
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Vamos dar uma olhada em outro exemplo aqui para lhe dar uma melhor compreensão:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html>
<body>
<h3>User Details</h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_REQUEST['name'];
$age = $_REQUEST['age'];
if (empty($name) & empty($age)) {
echo "Every field is required";
} else {
echo "I am $name and my age is $age";
}
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

O exemplo acima inclui um formulário simples para capturar detalhes do usuário, como nome e idade. O formulário usa o método HTTP POST para enviar os dados para a mesma página em que é exibido usando o atributo action da tag de formulário . O atributo action é definido como <?php echo $_SERVER['PHP_SELF']; ?> , que é uma constante PHP especial que se refere à página atual.

Após o formulário, usamos o super global $_REQUEST para recuperar os valores dos campos de entrada nome e idade. Se o método de solicitação for POST , que é verificado usando o superglobal $_SERVER['REQUEST_METHOD'] e os campos de nome e idade foram preenchidos, o script gera uma mensagem que inclui o nome e a idade enviados.

Se ambos os campos estiverem vazios, o script exibirá uma mensagem de erro solicitando que o usuário preencha todos os campos obrigatórios.

PHP superglobal – $_POST

A variável $_POST é uma das variáveis ​​superglobais PHP mais comumente usadas, que contém os dados enviados por meio do método HTTP POST por meio do uso de um formulário HTML .

Na seção, explicamos a variável super global $_POST em PHP, incluindo como ela é usada para processar dados de formulário, recuperar valores e realizar a validação dos dados.

É essencial para você, independentemente de ser inexperiente com PHP ou um desenvolvedor experiente, poder trabalhar com a variável super global $_POST.

PHP $_POST

A variável $_POST refere-se a uma variável super global do PHP que é usada para coletar dados do formulário uma vez que o formulário HTML tenha sido enviado com o método igual a “ post “.

Também é comumente usado para passar variáveis ​​para o servidor através de $_POST.

Abaixo você encontrará um exemplo de formulário no qual temos um campo de entrada e um botão de envio .

Se você clicar no botão “Enviar” no formulário, os dados do formulário serão enviados para o arquivo especificado no atributo de ação da tag de formulário anexada ao elemento do formulário.

O exemplo a seguir mostra como fazer referência a um arquivo para processar dados de um formulário.

Usando a variável super global do PHP _POST, podemos usá-la para coletar dados do campo de entrada da seguinte maneira:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
<body>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Username: <input type="text" name="username" />
<input type="submit" />
</form>
<?php
if (isset($_POST['username'])) {
$u_name = $_POST['username'];
if (empty($u_name)) {
echo "Name is required!";
} else {
echo $u_name;
}
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Vamos dar uma olhada em outro exemplo aqui para lhe dar uma melhor compreensão:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<html>
<body>
<h3>User Details</h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
<?php
if (isset($_POST['name']) & isset($_POST['age'])) {
$name = $_POST['name'];
$age = $_POST['age'];
if (empty($name) & empty($age)) {
echo "Every field is required";
} else {
echo "I am $name and my age is $age";
}
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

O exemplo acima é semelhante ao anterior. No entanto, ele usa o método HTTP POST para enviar os dados do formulário ao servidor em vez do método GET . Quando o usuário envia o formulário, os dados do formulário são enviados ao servidor por meio do método POST . Os dados são então processados ​​pelo código PHP que segue o formulário. Em geral, este exemplo demonstra como usar o $_POST super global em PHP para recuperar dados de um formulário HTML e processá-los. Ele também mostra como usar as funções isset() e empty() para validar a entrada do usuário e lidar com erros.

A utilização do método POST pode ser útil nos casos em que informações sigilosas estão sendo transmitidas, pois não são visíveis na URL.

PHP Super Global – $_GET

Nesta seção do artigo, vamos dar uma olhada em um dos mais importantes PHP super globais, $_GET . Mostraremos como usar $_GET em seu nível mais alto para maximizar seus resultados.

O $_GET é um método pelo qual você pode recuperar dados do servidor web através de HTTP GET .

Ao usar $_GET , você pode recuperar os valores dos parâmetros de consulta que foram definidos na URL para acessar seu script PHP. Parâmetros como esse geralmente são usados ​​ao passar dados de uma página para outra, por exemplo, entradas do usuário ou consultas de pesquisa entre páginas.


PHP $_GET

A função PHP $_GET é usada para coletar dados de formulário quando um formulário HTML com method=”get” foi submetido.

Os dados enviados na URL também podem ser coletados com $_GET.

Digamos que temos um documento HTML que contém um hiperlink com um conjunto de parâmetros dentro:

 

<html>
<body>
<a href=”practice_get.php?title=PHP&link=mrexamples.com”>Practice $GET</a>

</body>
</html>

 

Se o usuário clicar no link “Practice $GET”, os parâmetros “ title ” e “link” serão enviados para “ practic_get.php “, e você poderá obter seus valores em practice_get.php usando a variável $ _GET .

Aqui está um exemplo de código que foi usado no arquivo chamado “ practice_get.php “:

Example: 

1
2
3
4
5
<html>
<body>
<a href="practice_get.php?title=PHP&link=mrexamples.com">Practice $GET
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Abaixo está outro exemplo de $_GET para obter um entendimento mais claro:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
<body>
<h3>User Details</h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
<?php
if (isset($_GET['name']) & isset($_GET['age'])) {
$name = $_GET['name'];
$age = $_GET['age'];
if (empty($name) & empty($age)) {
echo "Every field is required";
} else {
echo "I am $name and my age is $age";
}
}
?>
</body>
</html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

O exemplo acima é um formulário HTML básico que solicita ao usuário que insira seu nome e idade. O formulário usa o método PHP GET para enviar a entrada do usuário ao servidor para processamento.

Quando o usuário envia o formulário, o código PHP que segue o formulário é executado.

Primeiro, ele verificará se os parâmetros 'name' e 'age' estão definidos no array super global $_GET usando a função isset() . Se ambos os parâmetros forem definidos, o código atribuirá seus valores a duas variáveis ​​locais $name e $age, respectivamente.

Em seguida, o código verifica se ambos os campos estão vazios usando a função empty() .

Se ambos os campos estiverem em branco, o código gera uma mensagem indicando que ambos os campos são obrigatórios. Se ambos os campos não estiverem em branco, o código gera uma mensagem que inclui o nome e a idade do usuário.
Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone