Programação para Web I Aula 5 – Formulários GET – POST - REQUEST Entendendo os métodos GET – POST - REQUEST INTRODUÇÃO Sendo informal e direto, o HTTP – Hypertext Transfer Protocol(Protocolo de Transferência de Dados) é um protocolo ou padrão de rede implementado em cima do TCP para que browsers e servidores possam se comunicar. Um cliente HTTP: são softwares que se comunicam com servidores através do HTTP. Entendendo os métodos GET – POST - REQUEST INTRODUÇÃO Podemos dizer também que são softwares os servidores: Apache IIS IIS Micrsoft Eles precisam fazer também a comunicação entre o cliente e servidor Transmitir dados de um lado para o outro Entendendo os métodos GET – POST - REQUEST INTRODUÇÃO Essas comunicações são feitas através de 3 variáveis pré-definidas principais no PHP: $_POST[ ] $_GET[ ] $_REQUEST[ ] Entendendo os métodos GET – POST - REQUEST DIFERENÇAS ? Vamos entender a diferença entre o POST e GET, depois faremos um apanhado geral do REQUEST. Entendendo os métodos GET – POST - REQUEST DIFERENÇAS : VISIBILIDADE $_GET[ ] Uma requisição GET é enviada como string anexada a UR $_POST[ ] É encapsulada junto ao corpo da requisição HTTP e não pode ser vista. Entendendo os métodos GET – POST - REQUEST Exemplo POST Os valores das variáveis não aparecem na URL </ > </ > Entendendo os métodos GET – POST - REQUEST Exemplo GET Utilizado o mesmo exemplo: </ > Analisem que as informações estão aparecendo na URL </ > Entendendo os métodos GET – POST - REQUEST DIFERENÇAS : TAMANHO $_GET[ ] GET é feita via URL, obviamente há uma limitação no tamanho da mensagem enviada. A string não pode conter mais que 255 caracteres(embora exista diferenças entre navegadores, mas em geral o limite é 255). $_POST[ ] Não há limitações de comprimento da mensagem, já que a mesma é enviada no corpo da requisição HTTP. Entendendo os métodos GET – POST - REQUEST DIFERENÇAS : PERFORMANCE $_GET[ ] $_POST[ ] é relativamente mais rápida, já que ela é mais simples. há uma perda de tempo no encapsulamento da mensagem. Entendendo os métodos GET – POST - REQUEST DIFERENÇAS : TIPOS $_GET[ ] Já que GET é enviado via URL, então nós sabemos que ela só transporta textos. $_POST[ ] Não tem restrições, pode transportar tanto texto, como dados binários. Entendendo os métodos GET – POST - REQUEST DIFERENÇAS : FAVORITOS/BOOKMARKS $_GET[ ] Por se tratar apenas de uma URL, a requisição GET pode ser armazenada em cache, ou em um sistema de bookmark(favoritos). $_POST[ ] A mesma coisa não é possível para requisições POST. Entendendo os métodos GET – POST - REQUEST DIFERENÇAS : METÓDO PADRÃO HTML $_GET[ ] GET é o método HTML padrão. $_POST[ ] Para submeter um formulário HTML usando POST é preciso especificar no atributo “method” o valor “POST”. Entendendo os métodos GET – POST - REQUEST DIFERENÇAS : DADOS $_GET[ ] As requisições GET são limitadas ao padrão ASCII $_POST[ ] requisições POST também podem usar o atributo “enctype” com o valor “multipart/form-data”, que faz uso do padrão UCS(Universal Multiple-Octet Coded Character Set). Entendendo os métodos GET – POST - REQUEST E o REQUEST? Variáveis de requisição HTTP Um array associativo que por padrão contém informações de $_GET, $_POST and $_COOKIE. Esta é uma 'superglobal', ou global automática, variável. Isto simplismente significa que ela está disponível em todos escopos pelo script. Não há necessidade de fazer global $variable; para acessá-la dentro de uma função ou método. Entendendo os métodos GET – POST - REQUEST E o REQUEST? Resumindo, ele faz o papel de todos. Ele é mais pesado. Não há muita necessidade de utilizá-lo pois temos as var super globais $_POST, $_GET e $_COOKIE FORMULÁRIOS + PHP INTRODUÇÃO FORMULÁRIOS + PHP INTRODUÇÃO - hidden FORMULÁRIOS + PHP INTRODUÇÃO FORMULÁRIOS + PHP INTRODUÇÃO FORMULÁRIOS + PHP INTRODUÇÃO FORMULÁRIOS + PHP INTRODUÇÃO FORMULÁRIOS + PHP INTRODUÇÃO FORMULÁRIOS + PHP INTRODUÇÃO FORMULÁRIOS + PHP INTRODUÇÃO Anexos Anexos de exmplos. INDEX.PHP Anexos Anexos de exmplos. VALIDA.PHP Anexos Anexos de exmplos. INDEX.PHP Anexos Anexos de exmplos. VALIDA.PHP Anexos Anexos de exmplos. VALIDA.PHP Anexos Anexos de exmplos. VALIDA.PHP Anexos Anexos de exmplos. VALIDA.PHP Anexos Anexos de exmplos. VALIDA.PHP Anexos Anexos de exmplos. VALIDA.PHP Anexos Anexos de exmplos. VALIDA.PHP Anexos Anexos de exmplos. VALIDA.PHP