Nesse post você vai entender a diferença entre get e post em PHP e também como você deve escolher entre esses dois métodos nos seus projetos.
Antes de mais nada, precisamos definir o que são os métodos get e post. O protocolo HTTP define que existem diversos verbos para realizar operações. Esses verbos são ações que permitem que o usuário do protocolo faça operações, então imagine que você tem um servidor web e você gostaria de colocar um dado dentro do seu servidor. Para realizar isso você poderia utilizar o verbo POST, isso faz com que o servidor trate as informações que você enviou da forma correta.
Outro método bastante conhecido é o GET, ele passa a ideia de pegar informações do servidor. Ou seja, você poderá pegar informações usando esse verbo. No entanto, esses verbos não são os únicos disponíveis. Veja uma breve lista de alguns métodos:
- GET
- HEAD
- POST
- PUT
- DELETE
- TRACE
- OPTIONS
- CONNECT
Diferença entre get e post
A grande diferença entre os métodos GET e POST é no envio de parâmetros. Isso acontece justamente por que o protocolo HTTP define que cada método tem funções diferentes. O GET é usado geralmente para “pegar” informações e o método POST é usado para “postar” informações.
Portanto, o GET envia os parâmetros na própria URL, visto que esses parâmetros não são “segredo” e as pessoas podem acessá-los tranquilamente. Já o POST é usado quando os parâmetros precisam ser enviados no corpo da requisição, isso significa que não será passado nenhum parâmetro pela URL, isso permite um maior controle quando estamos tratando dados sensíveis (ex. dados dos cartões de crédito, senhas, etc).
Como podemos usar get e post em PHP?
A grande beleza do PHP é a simplicidade com que ele trata a implementação disso. Internamente ao realizar uma requisição existem algumas variáveis que são disponibilizadas ao desenvolvedor e nelas temos acesso aos dados da requisição.
As principais variáveis onde podemos acessar esses dados são o $_POST e $_GET. Essas variáveis são arrays onde podemos acessar os dados por meio de chaves. $_POST[‘chave’] acessa um parâmetro enviado com a chave = ‘chave’. Ao realizar a requisição você pode envia-la para outras páginas PHP ou então para a mesma página. Isso torna o fluxo de páginas e lógica muito simples.
Veja um exemplo do envio e recebimento de parâmetros via get e post:
<html> <head> <meta charset="UTF-8"> <title>Página principal</title> </head> <body> <?php if(isset($_GET['name'])){ echo ("<h3> parametro enviado por get: ". $_GET['name'] . "</h3>"); } if(isset($_POST['name'])){ echo ("<h3> parametro enviado por post: ". $_POST['name'] . "</h3>"); } ?> <h1>usando get</h1> <form method="get"> <input type="text" name="name" placeholder="Digite algo"> <input type="submit" value="Submeter"> </form> <h1>usando Post</h1> <form method="post"> <input type="text" name="name" placeholder="Digite algo"> <input type="submit" value="Submeter"> </form> </body> </html>
A grande desvantagem disso é que o desenvolvedor fica livre para colocar toda a lógica em uma só camada. Isso pode atrapalhar MUITO o desenvolvimento de aplicações mais complexas, principalmente no que se trata de manutenção dessas aplicações.
Que conteúdo magnífico, muito obrigado pela iniciativa.
Olá!!! muito obrigado 🙂
Comentários assim me deixam fazem seguir em frente 🙂