Variáveis ​​Superglobal do PHP e Register_Globals
O PHP tem um tipo especial de variável que é chamada de superglobal. A razão dessas variáveis ​​serem especiais é porque elas estão automaticamente disponíveis para qualquer programa PHP sem que o programador as crie ou defina em seu programa. Você pode pensar nelas como variáveis ​​"internas".

A maneira como você acessará essas variáveis ​​é diferente, dependendo se o register_globals está ativado ou desativado no seu servidor. Antes do PHP versão 4.2, register_globals era ativado por padrão. No entanto, faça por razões de segurança; essa configuração agora está desativada por padrão (versão 4.2+). É claro que depende das pessoas que executam seu servidor decidir se deseja substituir a configuração padrão e ativar o register_globals. A maneira mais fácil de testar seu próprio servidor é usar o phpinfo (). Você provavelmente terá um link para esta página na área administrativa do seu site. Nesta página, você encontrará a seção Core do PHP de configuração que contém essas informações.

Como mencionado acima, você acessará os superglobais de maneira diferente, dependendo da configuração do seu servidor. Para a nova configuração do servidor, os superglobais receberam novos nomes. Se o servidor ainda tiver a configuração antiga, seria melhor começar a usar os novos nomes de qualquer maneira. Se você usar esses novos nomes, pode ter certeza de que seus programas funcionarão nas duas configurações do servidor. No entanto, esse não é o caso dos nomes antigos. Eles funcionarão apenas para a configuração antiga do servidor. A tabela abaixo mostra os nomes antigos e novos e uma descrição dos superglobais. Observe que os nomes dessas superglobais estão em todas as letras maiúsculas.

NovoVelhoDescrição
$ _GET $ HTTP_GET_VARS Essa superglobal contém as variáveis ​​enviadas ao programa pelo método get, como uma sequência de guery.
$ _POST $ HTTP_POST_VARS Essa superglobal contém as variáveis ​​enviadas ao programa pelo método post.
$ _COOKIE $ HTTP_COOKIE_VARS Essa superglobal contém as variáveis ​​disponíveis para o programa a partir de um cookie.
$ _SESSION $ HTTP_SESSION_VARS Este superglobal contém as variáveis ​​registradas pelo programa através de uma sessão.
$ _FILES $ HTTP_POST_FILES Essa superglobal contém as variáveis ​​disponíveis em um upload de arquivo.
$ _ENV $ _HTTP_ENV_VARS Essa superglobal contém as variáveis ​​disponíveis no ambiente do servidor.
$ _REQUEST -- Essa superglobal contém as variáveis ​​enviadas para um programa por qualquer tipo de entrada do usuário. Este é o tipo mais geral ou universal de superglobal.
$ _SERVER -- Essa superglobal contém informações sobre o servidor, como caminhos de arquivo.