Identificar requisição POST ou GET com PHP | Receitas de Código
Identificar requisição POST ou GET com PHP
Neste post veremos como identificar diferentes tipos de requisição, POST ou GET utilizando PHP 7
por Wolmir Cezer Garbin - 17 de nov de 2017 - PHP - TUTORIAL
Última atualização em: 07 de jun de 2018 | 34148 Visualizações
A primeira coisa que precisamos entender e como funciona e qual a melhor maneira de utilizar cada tipo de requisição, depois falaremos em como obter os valores do PHP.
Métodos GET e POST são utilizados por muitas linguagens de programação que trabalham em ambiente web. Para entender esses dois métodos vamos abordar um de cada vez.
Este método é utilizado para passar poucas informações ao realizar uma pesquisa ou simplesmente passar uma informação para outra página através da URL (barra de endereços). A função do método GET é pura e simplesmente recuperar um recurso existente no servidor. O resultado de uma requisição GET é cacheável" pelo cliente, ou seja, fica no histórico do navegador e não ser utilizado para alteração de dados no servidor.
http://receitasdecodigo.com.br/test?param=3&otherparam=2
Outro exemplo é quando você abre qualquer página no navegador, as páginas são obtidas através do método GET.
Este método é utilizado para enviar dados de formulários, como por exemplo um login ou contato, além disso ele é mais seguro e tem uma capacidade de enviar dados muito maior que o GET. Nesse método uma conexão paralela é aberta e os dados são passados por ela. Não há restrição referente ao tamanho da requisição e os dados que devem ser enviados não são visíveis através da URL do navegador.
Ao fazer o submit do form será enviado para a página sample.php os dados que estão no campo nome e email, permitindo que sejam recuperados dentro da página sample.php através de seus nomes.
Para recuperar os valores dentro da página você precisa utilizar $_GET e $_POST respectivamente para cada método de envio e estas são variáveis globais, você poderá utilizá-las em qualquer parte do código e ambas são do tipo array.
Podemos ver o resultado das variáveis da seguinte forma:
Recuperando parâmetros GET
Para recuperar os parâmetros GET no PHP você pode utilizar o seguinte instrução:
echo $_GET['nome'];
Isso irá imprimir o valor nome quando for enviado via GET, mas precisa tomar cuidado caso o parâmetro não exista, pode gerar um erro: Undefined Index, isso quando não existe no index o atributo que queremos obter, uma vez que sabemos que o $_GET retorna um array.
Para evitar isso utilize isset para verificar se o parâmetro existe
Isso se aplica tanto para GET quanto para POST.
Recuperando parâmetros POST
Para recuperar os parâmetros enviados via POST no PHP, utilize a seguinte instrução:
<?php echo $_POST['nome']; ?>
Da mesma forma que atributos GET, pode utilizar o isset para verificar se o parâmetro existe e evitar falha na aplicação.
E se quisesse hora retornar um valor e caso ele não exista retornar null? Poderia ser utilizado um else, da seguinte forma:
# retorna valor da variável
# retorna null
Melhorando o código com operador ternário
Utilizando if's para verificar se o conteúdo existe ou não para retornar funciona, mas existe uma maneira melhor de fazer isso. Sem falar que é muito mais interessante termos um código mais limpo para manter.
Então vamos utilizar o operador ternário para melhorar o nosso código. O operador ternário é como um if e um else, e ele nós da um código muito mais limpo e organizado, veja:
echo ( isset($_POST['nome']) ) ? $_POST['nome'] : null;
Facilitou um pouco mais, mas para finalizar vamos criar uma nova variável com o valor que veio no parâmetro. Veja como ficou nosso código: