Linux slogan
Visite também: BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Fedora 10
Por removido
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Driblando o REGISTER GLOBALS OFF
Linux user
Publicado por EVERTON DA ROSA em 19/03/2007

Login: everton3x, 424828 pontos | Blog: http://everton3x.orgfree.com/
[ Hits: 8246 ]

Driblando o REGISTER GLOBALS OFF

Muitas vezes desejamos fazer um script PHP que possa rodar sob diversas configurações de servidores. Dentre os principais problemas encontrados é a configuração do REGISTERS GLOBALS, configuração que, quando setada para ON, nos permite utilizar o nome dos campos dos formulários como nome das variáveis GET e POST, evitando a necessidade de utilizarmos referências $_GET[campo] e $_POST[campo].

Evidentemente que é possível utilizarmos as referências aos arrays #_GET e $_POST para trabalharmos com variáveis passadas por formulários, mas trabalhar com nomes do tipo $campo é muito mais prático.

Para que não tenhamos que atribuir nomes para cada variável ($campo=$_GET[campo], apresento o script abaixo que pode ser incluído em suas páginas, inclusive através de include().

<?
while (list($n,$v) = each($_POST)) {
    $$n=$v;
}
?>

Caso os valores sejam passados por GET, deve-se trocar $_POST por $_GET.

Eu uso um arquivo post.php e outro get.php através de require mas você pode colocar diretamente o código em suas páginas ou criar uma função para tal.


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Servidor web PHP completo
   Dica Linux recomendada Lista de discussão de desenvolvedores PHP de Minas Gerais
   Dica Linux recomendada Livro sobre Joomla - Criando Componentes Comerciais
   Dica Linux recomendada Tudo em Um - Site pessoal sobre PHP, HTML, CSS etc
   Dica Linux recomendada Exemplo de conexão ao banco de dados orientada a objeto em PHP+MySQL

Comentários
[1] Comentário enviado por jragomes em 19/03/2007 - 17:04h:

boa dica, quando você pega sistemas legados que usa Globals = on. Mas no caso de aplicações recentes, é melhor manter o globals = off, pois além do quesito segurança, há o quesito padronização e leitura de código. Se você tem no código as variáveis descritas como $_POST, $_GET, $_SERVER, $_SESSION, é muito mais fácil saber o que está acontecendo, de onde vem e para onde vai o fluxo do programa.


[2] Comentário enviado por candido1212 em 01/06/2008 - 17:49h:

por que não usar:

extract ($_REQUEST);

qualquer chave do array vai transformar em uma variavel.




Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.