Curso de PHP
Comandos de Entrada - GET e POST
Marcelo Linhares
(Tecle F11 para visualização em tela cheia. F11 novamente volta ao modo normal)
Comandos de Entrada - GET (QueryString)
- QueryString são parâmetros passados para para o PHP via GET (pela URL)
- http://localhost/exibeServico.php?id=10
- Automaticamente o script exibeServico.php recebe uma variável chamada $_GET[‘id’] que contém o valor 10.
- É possível passar mais variáveis por querystring utilizando a sintaxe & (e comercial), porém o limite (médio)de dados passados via GET é de 5000 bytes (varia entre servidor e navegador).
- http://localhost/exibeServico.php?id=10&contato=Marcelo
- No exemplo acima o script exibeServico.php está recebendo duas variáveis, a variável $_GET[‘id’] e a variável $_GET[‘contato’]
[any material that should appear in print but not on the slide]
Comandos de Entrada - GET (QueryString)
- Algumas observações importantes
- Por GET as variáveis são passadas pela URL, ou seja, ficam visíveis
- Por motivos óbvios, não é recomendado passar via querystring dados seguros como login, senha, cpf, rg
- Existe limitação de envio de dados por querystring, que varia de navegador e servidor, mas a média é 2kb (2048bytes)
- Não é possível enviar dados binários
[any material that should appear in print but not on the slide]
Comandos de Entrada - Formulários (Método POST)
- Dados podem ser enviados para um script PHP através de formulários HTML.
-
Neste exemplo, duas variáveis serão enviadas para o script exibeServico.php via POST.
São elas:
$_POST[‘id’] e $_POST[‘cidade’]
[any material that should appear in print but not on the slide]
Comandos de Entrada - POST
- Algumas observações importantes
- Limite de dados de 2mb, dependendo do servidor
- Dados transparentes para o usuário
[any material that should appear in print but not on the slide]
POST ou GET
- Qual usar? GET ou POST?
- Não existe uma verdade absoluta, porém, recomenda-se sempre que tiver um formulário que tiver dados sigilosos (CPF, RG, senha, login, etc...) utilizar método POST
- Utilizar GET sempre por links, exemplo: http://localhost/exibe_news.php?id=10
- No exemplo acima, acessaria uma notícia do Banco de Dados cujo ID é igual a 10
[any material that should appear in print but not on the slide]
Exercício 1
- Exemplo clássico de site de marca de cerveja
- Criar um formulário que passa dois parâmetros de entrada (Nome e Idade)
- Dependendo da idade redireciona ou para o site da Cerverjaria ou para um site de criança (www.disney.com.br)
- Para redirecionar utilize:header(“Location: http://www.disney.com.br”)
Exercício 2
- Formulário de cadastro
- Escreva um formulário de cadastro, com Nome, e-mail, profissão, data de nascimento e exibir confirmação dos dados na página