Formulários HTML
e PHP
Para que os formulários HTML possam realmente ter uma utilidade;
para que as informações coletadas no formulários possam
ser trabalhadas, é necessário utilizar de algum artifício,
ou melhor, de alguma tecnologia para coletá-los e tratá-los.
Esta tecnologia pode variar de acordo com a necessidade do desenvolvedor,
podendo esta ser o uso da linguagem de script JavaScript ou uma
mais robusta, como por exemplo o ASP(Java Server Pages), um aplicativo
CGI, dentre outras.
A necessidade de se apoiar em outra tecnologia, vem do princípio
de solicitação de páginas hospedadas em um servidor.
Se o cliente faz uma requisição a um servidor, este irá
procurar o arquivo solicitado e retornará o mesmo, se existir, para
o browser cliente. A "única" função do browser é
interpretar e processar este código de retorno.
Quando se envia um formulário com dados de um cadastro, por exemplo,
estes serão encaminhados ao servidor, o qual não irá
entender o mesmo. Para que estas informações possam ser manipuladas
no lado do servidor, este deve possuir um módulo adicional para
efetuar a interpretação.
E é neste ponto que o PHP entra em cena.
Revisão dos conceitos de formulários
A tag FORM
-
Para que se possa enviar informações a um servidor web, deve-se
utilizar os formulários HTML.
-
As informações coletadas nestes formulários serão
empacotadas e poderão ser enviadas de duas maneiras.
-
quando as informações/dados chegarem ao servidor, este irá
extraí-las e irá encaminha-las ao mecanismo de criação
de scripts (em nosso caso, o PHP).
-
os itens de controle, como campos de texto, caixas de seleção,
estarão dispostos entre as tags FORM.
-
a tag FORM possui váriso atributos, mas iremos abordar somente duas:
-
ACTION - informa ao servidor a que página ele deve se dirigir.
<FORM
ACTION= "cadastro.php">
controles...
</FORM>
-
METHOD - realiza o controle de envio das informações
que irão para o servidor; pode ser realizado de duas maneiras, utilizando
o método GET e o método POST.
<FORM
ACTION= "cadastro.php" METHOD=GET>
controles...
</FORM>
<FORM
ACTION= "cadastro.php" METHOD=POST>
controles...
</FORM>
-
O método GET informa ao navegador para acrescentar ao URL
os valores que foram inseridos a priori no formulário. A formatação
utilizada pelo navegador é a de adicionar um ponto de interrogação
ao final da URL e após, serão inseridas as informações
preenchidas no formulário. Estas, no formato nome=conteudo.
http://www.mneumônico.com.br/cadastro.php?nome=Mauricio&sobrenome=de%20Paula
-
Há um conjunto de caracteres que não podem aparecer em uma
URL, logo, estes precisam sofrer uma codificação. Esta codificação
é feita automaticamente pelo navegador. Caracteres mais comuns:
caracter
|
codificação
|
tab |
%09
|
espaço |
%20
|
! |
%21
|
" |
%22
|
# |
%23
|
% |
%25
|
& |
%26
|
-
Para obter uma maior "segurança" costuma-se utilizar o método
POST.
As informações através deste método são
encapsuladas ao corpo da requisição HTTP. O método
POST
não permite usar bookmarks, ao contrário de GET.
Itens de controle
</textarea>
-
caixas de seleção
<input
type="checkbox" name="escolha" checked>
-
botões de rádio
<input
type="radio" name="legume" value="abóbora">
-
caixas de listagem (listbox)
<select
name="estado">
<option>RS</option>
<option>SC</option>
<option>PR</option>
<option>SP</option>
</select>
Há a possibilidade de seleção de mais de um item,
conforme o exemplo abaixo:
<select
name="area_interesse[]"
multiple>
<option>IA</option>
<option>Redes</option>
<option>SO
</option>
<option>Arquitetura</option>
</select>
A primeira linha "diz" ao PHP para tratar os itens da caixa de seleção
como elementos de uma matriz area_interesse.
Para se apresentar o múltiplo resultado, basta utilizar um echo
para cada item, utilizando um índice desta matriz para a representação,
como por exemplo:
<?php
echo
"$area_interesse[0]";
echo
"$area_interesse[1]";
echo
"$area_interesse[2]";
echo
"$area_interesse[3]";
?>
-
campos de formulário ocultos
<input
type="hidden" name="flag" value="mensagem oculta">
-
senhas
<input
type="password" name="senha">
-
botões
<input
type="submit" name="bt_enviar" value="Enviar dados">
<input
type="reset" name="bt_limpar" value="Limpar campos">
|