Upload
heitor-carvalho-lencastre
View
244
Download
0
Embed Size (px)
Citation preview
Programação para Web I
Aula 5 – FormuláriosGET – 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.
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
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[ ]
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
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.
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[ ] $_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.
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[ ] $_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.
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.
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”.
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).
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.
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
FORMULÁRIOS + PHP
Campos Text e Textarea
FORMULÁRIOS
FORMULÁRIOS + PHP
Campos Radio
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.
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()
FORMULÁRIOS
FORMULÁRIOS + PHP
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
FORMULÁRIOS
FORMULÁRIOS + PHP
FORMULÁRIOS
FORMULÁRIOS + PHP
Utilizando HTML5
FORMULÁRIOS
FORMULÁRIOS + PHPFormulários parte 2
FORMULÁRIOS
FORMULÁRIOS + PHP
range | Slider
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
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:
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.
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
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
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕESExemplo
Se eu mudar o email para um inválido:Vai me retornar um boolean:false
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
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Exemplos de cada um:
Retorna true devido ao valor ser ‘yes’
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Validando um valor em float.
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Verificando se um número é um valor inteiro
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Verificando se um IP é válido
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Tirando tags HTML de uma string
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Tirando caracteres especiais do texto
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Tirando qualquer valor que não faça parte de números e cálculos
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Continuaremos
Anexos de exmplos. INDEX.PHP
Anexos
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