O documento explica como criar formulários em PHP usando os métodos GET e POST para enviar dados, e como receber esses dados usando as variáveis globais $_GET e $_POST. Também discute como formatar e validar os dados recebidos.
PHP e FormuláriosHTML
• Como criar um formulário
<form>
<p>Digite seu e-mail:<input type=“text” name=“email” size=“20”></p>
<p><input type=“submit” value=“Enviar” name=“enviar”></p>
</form>
Propriedades que acompanhaa tag
input
Opção Descrição
name Informa o nome do campo
value Informa um valor padrão para o campo
Size Informa o tamanho do campo exibido na tela
Maxlength Informa o número máximo de caracteres que pode ser digitado no
campo.
type Informa qual é o tipo do campo de entrada de dados.
5.
Valores possíveis paraa opção type
Valor Descrição
Text Mostra uma caixa de texto de uma linha, e permite a entrada de valores numéricos ou
alfanuméricos.
password Utilizado para a digitação de senhas. São mostrados asteriscos(*) no lugar dos caracteres
digitados, mas a informação é enviada normalmente.
hidden É um campo escondido. Não aparece na tela. Podemos utilizá-lo para passar informações
aos programas que recebem os dados.
Select Mostra uma lista de seleção (também conhecida como drop-down)
Checkbox Exibe uma caixa de seleção, que pode ser marcada ou desmarcada
Radio São botões de seleção, em que o usuário escolhe uma entre várias opções disponíveis.
Textarea Caixa de texto com várias linhas.
File Permite o envio de arquivos.
Submit Botão que aciona o envio dos dados do formulário
Image Tem a mesma função que o submit, mas utiliza uma imagem em vez do botão tradicional
do formulário
Reset Limpa todos os campos de um formulário e retorna ao valor padrão (se existir).
6.
Método GET
• Nessemétodo, os dados serão enviados
juntamente com o nome da página (na URL) que
processará os dados recebidos.
http://www.seusite.com.br/recebe_dados.php?nome=Joaquim&idade=20
• O caracter ? Representa o início de uma cadeia de
variáveis.
• O símbolo & identifica o início de uma nova variável.
• As variáveis e seus respectivos valores são separados
pelo caractere = .
7.
Desvantagens do métodoGET
• A um limite de caracteres que podem ser
enviados (por volta dos 200).
• O usuário enxergará todos os parâmetros por
meio da barra de endereço.
8.
Método post
• Ométodo post envia os dados do formulário
por meio do corpo da mensagem
encaminhada ao servidor.
<form action=“recebe_dados.php” method=“POST”>
...
</form>
9.
Vantagens do métodoPOST
• Não há limitação de tamanhodos dados que
estão sendo enviados.
• É recomendado utilizar em formulários que
possuem muitas informações a serem
enviadas.
• Por meio do método post podemos enviar
outros tipos de dados que não podem ser
enviados pelo método GET, como por
exemplo, imagens ou outros arquivos.
10.
Como tratar asinformações
• Utilizar os arrays superglobais predefinidos
pelo PHP. O $_GET e o $_POST.
• Se o método utilizado for o POST
$_POST*“nome”+;
$_POST*“email”+;
• Se o método utilizado for o GET
$_GET*“nome”+
$_GET*“email”+
11.
Funções especiais paraformatação de
dados
• Essa função retira as tags HTML e coloca
caracteres especiais em seus lugares:
htmlspecialchars(<string>);
• Stripslashes(<string>);
• Ao aplicar essa função sobre uma string ” é
substituído por “. E ‘ é substituído por ‘
12.
Prática
• Crie umformulário que envie para a pagina
recebe_dados os itens:
Nome Usuário
Senha
Nome
Email
Cidade
Estado
E imprima esses dados na tela.
if(strlen($nomeUsuario) < 5)
{
echo “o usuário deve possuí no mínimo 5 caracteres.<br> ”;
$erro = 1;
}
if(strlen($senha) < 5)
{
echo “a senha deve possuí no mínimo 5 caracteres.<br> ”;
$erro = 1;
}
if(empty($nome) OR strstr ($nome, ‘ ‘)==FALSE)
{
echo “digite o nome corretamente<br> ”;
$erro = 1;
}
If (strlen($email)<8 || strstr ($email,’@’)==FALSE)
{ echo “Favor digitar o email corretamente”; }
....
If($erro == 0)
{echo “Todos os dados foram digitados corretamente!”;}
?>
15.
Função Descrição
Empty Verifica se determinada string está vazia
Strlen Retorna o número de caracteres de uma string
Strstr Acha a primeira ocorrência de uma string. Se não encontrar
retorna FALSE.