Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

52
Programação para Web I Aula 5 – Formulários GET – POST - REQUEST

Transcript of Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Page 1: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Programação para Web I

Aula 5 – FormuláriosGET – POST - REQUEST

Page 2: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Entendendo os métodos GET – POST - REQUEST

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.

INTRODUÇÃO

Um cliente HTTP:

são softwares que se comunicam com servidores através do HTTP.

Page 3: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Podemos dizer também que são softwares os servidores:

INTRODUÇÃO

IISApache IIS

Micrsoft

Eles precisam fazer também a comunicação entre o cliente e servidorTransmitir dados de um lado para o outro

Entendendo os métodos GET – POST - REQUEST

Page 4: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Essas comunicações são feitas através de 3 variáveis pré-definidas principais no PHP:

INTRODUÇÃO

Entendendo os métodos GET – POST - REQUEST

$_POST[ ] $_GET[ ] $_REQUEST[ ]

Page 5: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Vamos entender a diferença entre o POST e GET, depois faremos um apanhado geral do REQUEST.

DIFERENÇAS ?

Entendendo os métodos GET – POST - REQUEST

Page 6: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

DIFERENÇAS : VISIBILIDADE

Entendendo os métodos GET – POST - REQUEST

$_GET[ ] $_POST[ ]

Uma requisição GET é enviada como string anexada a UR

É encapsulada junto ao corpo da requisição HTTP e não pode ser vista.

Page 7: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Entendendo os métodos GET – POST - REQUEST

Exemplo POST

</ >Os valores das variáveis não aparecem na URL

</ >

Page 8: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Entendendo os métodos GET – POST - REQUEST

Exemplo GET

Utilizado o mesmo exemplo:

</ >Analisem que as informações estão aparecendo na URL

</ >

Page 9: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Entendendo os métodos GET – POST - REQUEST

DIFERENÇAS : TAMANHO

$_GET[ ] $_POST[ ]

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). 

Não há limitações de comprimento da mensagem, já que a mesma é enviada no corpo da requisição HTTP.

Page 10: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

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.

Page 11: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Entendendo os métodos GET – POST - REQUEST

DIFERENÇAS : TIPOS

$_GET[ ] $_POST[ ]

Já que GET é enviado via URL, então nós sabemos que ela só transporta textos.  

Não tem restrições, pode transportar tanto texto, como dados binários.

Page 12: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Entendendo os métodos GET – POST - REQUEST

DIFERENÇAS : FAVORITOS/BOOKMARKS

$_GET[ ] $_POST[ ]

Por se tratar apenas de uma URL, a requisição GET pode ser armazenada em cache, ou em um sistema de bookmark(favoritos). 

A mesma coisa não é possível para requisições POST.

Page 13: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Entendendo os métodos GET – POST - REQUEST

DIFERENÇAS : METÓDO PADRÃO HTML

$_GET[ ] $_POST[ ]

GET é o método HTML padrão.

Para submeter um formulário HTML usando POST é preciso especificar no atributo “method” o valor “POST”.

Page 14: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Entendendo os métodos GET – POST - REQUEST

DIFERENÇAS : DADOS

$_GET[ ] $_POST[ ]

As requisições GET são limitadas ao padrão ASCII 

 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).

Page 15: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Variáveis de requisição HTTP

E o REQUEST?

Entendendo os métodos GET – POST - REQUEST

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.

Page 16: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

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

Page 17: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHP

Campos Text e Textarea

Page 18: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHP

Campos Radio

Page 19: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHP

Campos Checkbox

Este formulário têm múltiplas escolhas, por isso é necessário a utilização doLaço de repetição para receber todas as informações selecionadas.

Page 20: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHP

o isset é uma palavra reservada do php, que server para verificar se uma variável existe ou não

Uma variável é destruídacom unset()

Page 21: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHP

Page 22: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHP

Campos Select

Os campos select permitem tratar uma variedade de opções, onde o usuário pode selecionar apenas uma opção ou múltiplas opções

Page 23: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHP

Page 24: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHP

Utilizando HTML5

Page 25: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHPFormulários parte 2

Page 26: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS

FORMULÁRIOS + PHP

range | Slider

Page 27: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

FORMULÁRIOS + PHP

Segundo o formulário abaixo, iremos mostrar alguns tratamentos de formulários:

Criando a primeira página que irá conter o HTML Formulário

Page 28: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Após isso, iremos criar uma outra página que irá receber o conteúdo digitado no formulário

Vejam que estamos trabalhando com as seguintes funções para o tratamento:

Page 29: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

 htmlspecialchars() transforma caracteres que sejam especiais no HTML na sua forma codificada, de forma que não seja possível injetar tags HTML ou JavaScript em sua página. 

O campo age (idade), por ser um número, pode-se simplesmente converterpara um integer que automaticamente eliminará qualquer letra. 

Page 30: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Para tratamentos, podemos utilizar também a função FILTER

filter_has_var — Verifica se a variável é de um especificado tipo existentefilter_id — Retorna o ID de um dado nome de filtrofilter_input_array — Obtem variáveis externas e opcionalmente as filtrafilter_input — Obtem a específica variável externa pelo nome e opcionalmente a filtrafilter_list — Retorna a lista de todos filtros suportadosfilter_var_array — Obtêm múltiplas variáveis e opcionalmente as filtrafilter_var — Filtra a variável com um especificado filtro

Page 31: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕESVamos começar pela última: filter_var — Filtra a variável com um especificado filtro

Descrição

Valor para filtrar. ID do Filtro

Array associativo de opções ou disjunção binário de flags. Se o filtro aceita opções, flags podem ser providas no campo "flags" do array. Para o "callback" do filtro, o tipo callback pode ser passado

Page 32: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕESExemplo

Se eu mudar o email para um inválido:Vai me retornar um boolean:false

Page 33: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHPFUNÇÕES de TRATAMENTOS | VALIDAÇÕESLista de Filter_Validate

id DescriçãoFILTER_VALIDATE_BOOLEAN Returns TRUE for "1", "true",

"on" and "yes"Returns FALSE for "0", "false", "off" and "no"Returns NULL otherwise.

FILTER_VALIDATE_EMAIL Validação de emailFILTER_VALIDATE_FLOAT FloatFILTER_VALIDATE_INT InteiroFILTER_VALIDATE_IP IPFILTER_SANITIZE_STRING Remove todas as tags HTML da

StringFILTER_SANITIZE_SPECIAL_CHARS

Remove todos os caracteres especiais

FILTER_SANITIZE_NUMBER_INT

Remove todos os car ilegais de números

Page 34: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Exemplos de cada um:

Retorna true devido ao valor ser ‘yes’

Page 35: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Validando um valor em float.

Page 36: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Verificando se um número é um valor inteiro

Page 37: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Verificando se um IP é válido

Page 38: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Tirando tags HTML de uma string

Page 39: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Tirando caracteres especiais do texto

Page 40: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Tirando qualquer valor que não faça parte de números e cálculos

Page 41: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

FORMULÁRIOS + PHP

FUNÇÕES de TRATAMENTOS | VALIDAÇÕES

Continuaremos

Page 42: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos de exmplos. INDEX.PHP

Anexos

Page 43: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. VALIDA.PHP

Page 44: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. INDEX.PHP

Page 45: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. VALIDA.PHP

Page 46: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. VALIDA.PHP

Page 47: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. VALIDA.PHP

Page 48: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. VALIDA.PHP

Page 49: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. VALIDA.PHP

Page 50: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. VALIDA.PHP

Page 51: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. VALIDA.PHP

Page 52: Programação para Web I Aula 5 – Formulários GET – POST - REQUEST.

Anexos

Anexos de exmplos. VALIDA.PHP