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
FORMULÁRIOS
Campos Text e Textarea
FORMULÁRIOS + PHP
FORMULÁRIOS
Campos Radio
FORMULÁRIOS + PHP
FORMULÁRIOS Campos Checkbox
Este formulário têm múltiplas escolhas, por isso é necessário a utilização do
Laço de repetição para receber todas as informações selecionadas.
FORMULÁRIOS + PHP
FORMULÁRIOS
o isset é uma palavra reservada do
php, que server para verificar se
uma variável existe ou não
Uma variável é destruída
com unset()
FORMULÁRIOS + PHP
FORMULÁRIOS
FORMULÁRIOS + PHP
FORMULÁRIOS
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 + PHP
FORMULÁRIOS
FORMULÁRIOS + PHP
FORMULÁRIOS
Utilizando HTML5
FORMULÁRIOS + PHP
FORMULÁRIOS
FORMULÁRIOS + PHP
FORMULÁRIOS
range | Slider
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
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 existente
filter_id — Retorna o ID de um dado nome de filtro
filter_input_array — Obtem variáveis externas e opcionalmente as filtra
filter_input — Obtem a específica variável externa pelo nome e opcionalmente a filtra
filter_list — Retorna a lista de todos filtros suportados
filter_var_array — Obtêm múltiplas variáveis e opcionalmente as filtra
filter_var — Filtra a variável com um especificado filtro
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Vamos 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ÇÕES
Exemplo
Se eu mudar o email para um
inválido:
Vai me retornar um
boolean:false
FORMULÁRIOS + PHP
FUNÇÕES de TRATAMENTOS | VALIDAÇÕES
Lista de Filter_Validate
id
Descrição
FILTER_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 email
FILTER_VALIDATE_FLOAT
Float
FILTER_VALIDATE_INT
Inteiro
FILTER_VALIDATE_IP
IP
FILTER_SANITIZE_STRING
Remove todas as tags HTML da String
FILTER_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
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
Download

Descrição