É muito importante pra quem esta começando em PHP entender como funcionam os sistemas cliente-servidor, popularmente conhecido como requisição-resposta, que é o que vou estar abordando neste post.

Quando você cria um site, você precisa hospeda-lo na WEB, ou seja, pagar a uma empresa de hospedagem, para que seu site fique acessível na internet. Mas como isso funciona? Essa empresa possui computadores super potentes, interligados nos backbones da internet, onde ficam guardados os arquivos dos sites. Esses “super computadores” são chamados de servidores e ficam ligados 24 horas por dia, 7 dias por semana e 365 dias por ano.

Partindo disto, toda vez que você digita o endereço de um site no seu navegador, seu navegador irá requisitar esta página ao seu provedor de internet, ele irá buscar na internet onde este site esta hospedado, em qual servidor e irá “pedir” esta página, ou seja, seu navegador esta requisitando esta página. Por sua vez, o servidor verifica o pedido e retorna o html e os elementos desta página. É ai que entra o PHP ou outras linguagens WEB, ou com seus nomes mais formais, linguagens de sistemas cliente-servidor. o PHP como o próprio nome diz, é um pré processador (PHP – Hypertext Pré Processor), ou seja, ele interpreta a requisição, antes que o servidor devolva a resposta. Portanto, o PHP é interpretado no servidor e não no cliente (A partir de agora, vamos tratar o Browser como sendo o cliente). O cliente não sabe interpretar PHP, nem mesmo ASP, JSP ou outras linguagens de sistemas cliente servidor. O servidor interpreta o código PHP e só devolve HTML, não importando qual extensão esteja na url(PHP, ASP, JSP, etc). Por isso, tudo que você colocar entre as tags <?php ?> não irão aparecer na página (a não ser que você de um echo), pois com isso você indica ao servidor o que deve ser interpretado pelo PHP.

Assim que o PHP processa a informação, o html resultante deste processamento é devolvido ao Browser, e assim se encerra o ciclo de requisição resposta.

entenda como funcionam os sistemas cliente-servidor, popularmente conhecidos como requisição-resposta

Toda vez que precisamos interagir com o servidor, para enviar um formulário, ou salvar um cadastro por exemplo, a página é recarregada, já que é preciso enviar as informações para o servidor, ele irá processar essas informações, como enviar um e-mail ao destinatário do site no caso de um formulário de contato, ou salvar um novo usuário no banco de dados no caso de um cadastro por exemplo. Ele irá retornar a resposta, se deu certo ou não, ou se você deixou campos vazios por exemplo (Tudo isso programado no PHP obviamente). Para aumentar a dinâmica desse processo, hoje em dia, se utilizam muito do AJAX, pois a linguagem que o Browser interpreta é o javascript, sendo assim, se utiliza o javascript para “fazer uma requisição assíncrona”, sem precisar dar um reload na página. Em outras palavras, o javascript age como se fosse o browser, requisitando uma página e recebendo a resposta dela, podendo assim trabalhar essa resposta na página original (em breve farei outro post falando apenas de ajax dando exemplos de uso). Por isso, sempre quando tem algum botão de enviar, e você vê uma imagem de loading, o programador colocou essa imagem, para que de tempo do javascript fazer a requisição e receber a resposta, que seria o mesmo tempo que demora para o browser carregar uma página normalmente.

Sempre que o Browser requisita uma página, ele manda algumas informações junto, como se fosse um cartão de apresentação, contendo o nome dele,  o que ele busca, o sistema operacional, etc.

Toda requisição, pode enviar dados ao servidor além do endereço da página. Existem dois métodos para isso, passar esses parâmetros pela url ou no corpo da requisição. O primeiro é conhecido como GET e o segundo como POST.

O método GET:

Um exemplo de GET é www.site.com.br/pagina.php?nome=Eugenio&idade=22&altura=1.70 onde cada variável é passada depois da ‘?’ e se utiliza um & para separar os parâmetros. Este método é para envio de informações simples, ja que qualquer um pode ver o que é passado na url, além do que este tipo de requisição tem um limite, a url tem um limite.  Para enviar informações desta forma, basta acrescentar o método get nos formulários html <form method=”get”> ou passar para alguem acessar a url ja com os parâmetros. Lembrnado que o atributo action do formulário, é o endereço ou página que deve receber a requisição enviada pelo formulário. Para pegar essas informações com php bastaria este código:

<form method="get" action="recebe_requisicao.php">
<input type="text" name="nome" value="" />
<input type="text" name="idade" value="" />
<input type="text" name="altura" value="" />
</form>

E depois, na página recebe_requisicao.php:

echo "nome = ".$_GET['nome'];
echo "idade = ".$_GET['idade'];
echo "altura = ".$_GET['altura'];

Também é possível utilizar urls amigáveis, para que esses parâmetros na url funcionem de uma forma melhor e mais limpa, como você pode ver nesta própria página, o php na url indica a categoria, e o restante o nome do post, mas isso é assunto para um outro post.

O método POST:

Outra forma de passar informações junto com a requisição é o metódo POST. com este método os dados são passados no corpo da requisição, junto com aquele “cartão de apresentação”. Dessa forma os dados são mais seguros e o limite de tamanho é definido nas configurações do servidor, mas podem ser muito maiores do que via get. Para enviar informações desta forma, basta acrescentar o método post nos formulários html <form method=”post”>. Lembrando que o nome da variável que vem via post no PHP é o atributo name dos inputs. Para pegar esta informações no PHP, basta utilizar este código:

<form method="post" action="recebe_requisicao.php">
<input type="text" name="nome" value="" />
<input type="text" name="idade" value="" />
<input type="text" name="altura" value="" />
</form>

E depois, na página recebe_requisicao.php:

echo "nome = ".$_POST['nome'];
echo "idade = ".$_POST['idade'];
echo "altura = ".$_POST['altura'];

Espero que tenham gostado, e até a próxima!

Este conteúdo foi útil para você? Então ajude este blog a continuar no ar com novos conteúdos!
Basta clicar em algum anúncio da header ou sidebar e aguardar pelo menos 10 segundos