1-PHP Introdução
Exercícios
Curso Banco Dados
IntroducaoBD.php

Cap. 2 - PHP Intermediário

2.3 - Formulario HTML com PHP

Objetivo: Trabalhar com Formulários HTML usando PHP.

Conteúdo da Aula:


1. Introdução

Formulários (forms) são páginas HTML que permitem que o usuário envie algum tipo de informação.

Os formulários em HP são compostos por elementos específicos, ou form elements.

Veja a página do W3C sobre formulários: w3c-forms

Confira alguns links com explicações e exemplos de formulários

Links Adicionais

2. Conceitos Gerais dos Formulários

2.1 TAG FORM

Um formulário é definido com a TAG <form>

<form>
elementos do formuário
</form>

2.2 Elemento input

  • A tag de formulário mais usada é a tag <input>

  • Existem diferentes tipos de entrada que podem ser definidos dentro da tag <input>

  • Utiliza-se o atributo type para defini-los.

Assim, um formulário conterá a tag <input> com seus atributos.

<form>

<input COM SEUS ATRIBUTOS >

</form>

2.3 Tipos de atributos do input

Existem diferentes tipos de entrada de dados via formulario:

  • Caixa e Áreas de Texto

  • Múltipla Escolha

  • Seleção

  • Opção de Upload

Esses tipos serão vistos nas próximas seções

Veja nos links abaixo modelos de Formulários com diferentes tipos.

2.3.1 Exemplo de Utilização do INPUT com um tipo texto


<form>
Nome:
<input type="text" name="nome" />
<br />
Sobrenome:
<input type="text" name="sobrenome" />
</form>

Como fica a aparência desse formulário:

Nome:
Sobrenome:

No formulário acima foram criadas duas caixas de texto, para receberem dados via INPUT, cada uma com um nome de variável. Veremos em detalhes como trabalhar com formulário.

Ainda falta alguma coisa no formulário acima...

Antes de ver o que falta, vamos passar pelos tipos de entrada do formulário


Nas próximas seções (seções 3 a 9) veremos os TIPOS que são usados na tag INPUT.

3. Texts Fields (Campos de Texto)


Como visto acima, o tipo texto deve ser chamado a partir da tag input com o tipo text:


<form>
LABEL
<input type="text" name="NOME_DA_VARIAVEL" />
<br />

Sendo LABEL o nome que aparecerá no browser e NOME_DA_VARIAVEL o nome (interno) da variável que receberá o texto.

4. Radios Buttons (Múltipla Escolha)

Radio Buttons são usados para selecionar uma opção dentre várias.

Veja o exemplo a seguir

<form>
<input type="radio" name="sex" value="m" /> Masculino
<br />
<input type="radio" name="sex" value="f" /> Feminino
</form>

Importante

O tipo radio contém um nome (atributo name) e um valor (atributo value).


Veja como ficará no Browser:

Masculino
Feminino

Repare que APENAS UMA OPÇÃO PODE SER MARCADA

5. Checboxes (Múltiplas Opções)

As caixas de seleção possibilitam ao usuário escolher várias opções de um conjunto. São construídas com o tipo checkbox.

Veja o exemplo (extraído de w3schools)


<form>
I have a bike:
<input type="checkbox" name="vehicle" value="Bike" 
/>
<br /> I have a car: <input type="checkbox" name="vehicle" value="Car" /> <br /> I have an airplane: <input type="checkbox" name="vehicle" value="Airplane" /> </form>

Importante

Repare na utilização do atributo name que deve ser o mesmo para todas as opções, cada uma com um valor diferente.


Como ficará no browser:

I have a bike:
I have a car:
I have an airplane:

Repare que você pode selecionar várias opções

6. Drop-Dow Buttons (Menus) e a opção select


<form>
<select name="cars">
<option value="volvo">Volvo</option>
<option value="bmw">BMW</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
</form>

Veja o exemplo seguinte

Existe a possibilidade de se ter uma seleção que não seja um menu. A opção select, quando usada com o modificador multiple possibilita uma lista de escolhas. Veja o formulário seguinte.

A diferença em relação ao anterior é que a opção select foi escrita:

<select name="cars" multiple>

Importante

Repare na utilização do atributo select que deve ter um nome. E as opções são definidas com o comando option, cada uma com seu value.


7. Upload

Para se usar uma caixa de diálogo para importar um arquivo deve-se utilizar a opção file para o tipo de entrada. Veja o exemplo a seguir.

<input name="file" type="file" />

Veja um outro exemplo (extraido de http://www.cs.tut.fi/~jkorpela/forms/file.html)


Type some text (if you like):

Please specify a file, or a set of files:

Importante

Veja nesse segundo exemplo que foi adicionado um botão que não comentamos ainda: o botão "enviar" (no caso do exemplo, send).

8. Tipo escondido

A opção hidden (escondido) é usada quando se deseja enviar algum dado (veremos adiante que o form envia o dado para algum lugar) que o usuário não vai digitar. Quem vai informar esse dado é o "próprio formulário".

Veja um exemplo de utilização do hidden

para envio de um, arquivo.
<input type="hidden" name="MAX_FILE_SIZE" value="100" />

<input name="file" type="file" />

9. Submeter o Formulário

Obviamente, os dados informados tem que ser submetidos (para algum lugar...).

Todo formulário, portanto, deverá ter algum meio de ser enviado. No caso, vamos usar um botão de enviar, com o tipo submit

Veja como o botão enviar deve ser usado.

Repare que o valor (value) indica o que vai escrito no botão.

<input type="submit" value="Enviar">

10. Recebendo os dados

Até agora vimos os formulários em HTML que estruturam a página que irá receber os dados.

PERGUNTA (que não quer calar): onde entra o PHP.

Bem, o PHP entra na parte que RECEBE os dados.

Vejamos....



Métodos GET e POST

O PHP possui métodos (ou funções) para recebimento de dados (via algum protocolo)? GET e POST.

Método GET

Antes de explicar me detalhes, veja o exemplo (extraido de w3schools)

<form action="teste.php" method="get">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

Execute o exemplo acima e repare o que acontecerá no seu browser


Veja como ficará o formulário
Name: Age:

O que acontece quando temos um formulário e desejamos enviar para um programa PHP?

RESPOSTA: Devemos usar a opção action="nome_do_arquivo_PHP"

No caso acima, deve existir um arquivo PHP que irá receber, VIA MÉTODO GET, os dados.

Veja como deve ser o arquivo PHP

<?php
//recebe dados


$nome = $_GET["fname"];
$idade = $_GET["age"];

echo $nome."possui a idade de ".$idade." anos";

?>

IMPORTANTE

Repare nas variáveis, na forma como o método é usado e o que acontece no endereço do seu browser.


Método POST

Veja agora, o mesmo exemplo, usando o método POST.

Execute o formulário abaixo. Repare o que acontece no seu browser.

Name: Age:

Pergunta

Qual a diferença entre o método GET e POST que você percebeu?

Veja nos links abaixo.

11. Exercícios de Revisão

1. GET e POST

Faça um programa (HTML-PHP) para ler o nome, altura, peso, sexo e idade de uma pessoa. Depois mostre os dados enviados na tela.

2. GET e POST

Faça um programa (HTML-PHP) para ler o nome, altura, peso, sexo e idade de uma pessoa. Depois salve os dados em um arquivo TXT. Se o programa for usado novamente, os dados devem ser armazenados no mesmo arquivo que foi usado da primeira vez.

3. Cálculo

Faça um programa (HTML-PHP) para ler dois números e os um dos comandos das quatro operações e mostrar o resultado da operação desejada.

4. Formulário

Faça um formulário HTML para enviar dados para um programa PHP que contenha: caixa de texto, checkboxes, múltipla escolha, menu dropdown. Os dados enviados devem ser mostrados na tela.

5. Campo "senha"

É possível criar uma caixa de diálogo para a entrada de senhas. Faça um script (HTML/PHP) que receba um senha e a envie para um arquivo TXT.

Referências

[1] PHP - Programando com Orientação a Objeto - Pablo Dall'Oglio


voltar ao início da página