segunda-feira, 3 de outubro de 2011

PHP - Superglobais introduzindo


Superglobais são variáveis ​​de matriz especialmente definidos em PHP que tornam mais fácil para você obter informações sobre um pedido ou o seu contexto. Eles são chamados superglobal porque eles estão sempre acessíveis, independentemente do âmbito de aplicação - isto é, você pode acessá-los de qualquer função, classe ou arquivo sem ter que fazer nada especial.
As variáveis ​​superglobais são: $ GLOBALS , $ _SERVER , $ _GET , $ _POST , $ _FILES , $ _COOKIE , $ _SESSION , $ _REQUEST e $ _ENV . E enquanto você pode saber mais sobre cada lendo a documentação do PHP , eu gostaria de lhe mostrar o que eu acho que é provável que você mais usa.


$ _GET E $ _POST
$ _GET e $ _POST são usados ​​para obter informações enviadas na solicitação de página. Parâmetros enviados na URL são disponibilizados por $ _GET . Por exemplo, este URL:
http://example.com/profile.php?uid=12345
... Enviará o parâmetro uid para profile.php , que você pode acessar o valor em profile.php como $ _GET ["uid"] .


Quando você tem um envio de formulário que é enviado usando method = "get" , os valores são anexados ao URL que eles estão disponíveis usando $ _GET bem . Formulários enviados usando method = "post" enviar seus valores no corpo da solicitação HTTP; dados postados está disponível em seu script usando $ _POST . Aqui está um formulário web amostra que posts um nome de usuário e senha para um script de login:


< forma de ação = "login.php" método = "post" >
Nome de usuário: < input tipo = "text" name = "uname" /> < br />
Senha: < input tipo = "password" name = "pass" /> < br />
< input tipo = "submit" valor = "Login" />
</ formulário >


O uname valor e passar o valor estará disponível como $ _POST ["uname"] e $ _POST ["pass"] , respectivamente, em login.php .


O $ _REQUEST superglobal é um amálgama de $ _POST e $ _GET dados. É oferecido como uma conveniência, mas como regra geral as pessoas eu aconselho para evitá-lo. Ele cria alguns dos mesmos riscos de segurança que globals registrados fez anos atrás, se você não tiver cuidado. (Se você não sabe o que quero dizer com globals registrado, considerar-se sortudo. Esqueça $ _REQUEST e você vai ficar bem.)


$ _SESSION
O protocolo HTTP, o mecanismo pelo qual os navegadores pedido páginas e recebê-los, foi originalmente concebido para que cada pedido foi independente de todos os outros feitos para o servidor. Isto não é como nós usamos a web hoje, no entanto. Agora as pessoas esperam cada página que visita em um site para "lembrar" o que aconteceu anteriormente, se é o login ou adicionar um novo vídeo game ao seu carrinho de compras online. Esta ligação lógica entre as páginas é chamada de sessão .
Para habilitar sessões, o session_start () função deve ser chamada no topo de qualquer script PHP usando sessões antes da saída é enviado para o navegador. Assim que a sessão está ativa, você pode armazenar e recuperar dados usando $ _SESSION . Aqui está um exemplo ...
page1.php inicia a sessão, armazena um valor na $ _SESSION matriz e fornece um link para page2.php :


<? Php
session_start ();
$ _SESSION [ "videogame" ] = "Battletoads" ;
?>


<A href = "page2.php" > Ir para a página 2 </ a>
Quando o usuário clica no link para page2.php , chama session_start () para retomar a sessão, recupera o valor de $ _SESSION ["videogame"] e mostra-lo:


<? Php
session_start ();
echo $ _SESSION [ "videogame" ];
$ _SERVER


O $ _SERVER superglobal conjunto armazena informações sobre os dois o servidor web eo pedido feito a ele. Alguns dos mais úteis $ _SERVER valores são:


$ _SERVER ["PHP_SELF"] - o nome do script PHP em execução no momento


$ _SERVER ["REQUEST_METHOD"] - qual o método HTTP foi usado para solicitar a página ( GET , POST , etc)


$ _SERVER ["REQUEST_TIME"] - o tempo a solicitação da página foi recebido, representado como um inteiro conhecido como um timestamp unix


$ _SERVER ["HTTP_REFERER"] - o endereço da página visitada anteriormente, se disponível
Uma lista de todas as chaves disponíveis pode ser encontrada na documentação online. Tenha em mente que nem todos deles listados é garantido para ser em $ _SERVER , depende da configuração do seu servidor eo pedido enviado pelo usuário.


Sumário
Como eu disse, essas são apenas algumas das superglobais disponível em PHP que eu acho que você vai usar mais. $ _GET e $ _POST permitir que o seu script para tomar informações do mundo exterior. $ _SESSION permite que você se lembra de dados entre a página pedidos durante a sessão de navegação de um visitante. _SERVER $ contém informações sobre o servidor web ea solicitação de página. Entender essas e aprender a usá-los eficazmente, sem dúvida, ajudar a escrever grande, sites interativos utilizando PHP com relativa facilidade.

Nenhum comentário :

Postar um comentário

Total de visualizações de página