PHP
- 30/06/2008
Mini curso de PHP (Parte 8) – FORMULÁRIOS
O objetivo desta aula é ensinar como trabalhar com formulários e recuperar os dados no PHP. Uma vez que os dados sejam recuperados pelo PHP, você pode utilizar os dados para diversas coisas: Cadastrar no banco de dados, direcionar o usuário para uma parte do seu site, colocar uma área restrita no seu site onde o usuário informe sua senha para acessar, etc…
Antes de mais nada, você precisa saber como inserir um formulário na sua página. Se não souber naeda de HTML… acesse o link abaixo para ver como um formulário funciona.
http://www.criarweb.com/artigos/93.php
Mas, para o formulário funcionar, precisamos dos campos que receberão os dados. Sejam eles em forma de texto, ou um botão, uma lista de opções…
Como não quero falar de HTML, vou passar umas referências de um site que explica como declarar os tipos de campos no formulário. Acesse:
http://www.criarweb.com/artigos/101.php
http://www.criarweb.com/artigos/117.php
http://www.criarweb.com/artigos/127.php
É EXTREMAMENTE IMPORTANTE QUE VOCÊ ACESSE OS LINKS PARA CONTINUAR ESTA AULA.
Mas como faço pra receber os dados do formulário em uma página PHP?
O PHP utiliza variáveis super-globais para receber os dados. São elas:
- $_GET
- Quando o método de envio for GET. Se você definir o “name” de um campo como ‘nome_cliente’, você vai acessá-lo assim: $_GET[“nome_cliente”]
- $_POST
- Quando o método de envio for POST. Se você definir o “name” de um campo como ‘nome_cliente’, você vai acessá-lo assim: $_POST[“nome_cliente”]
Ainda podemos utilizar a super-global $_REQUEST, esta super-global recebe os dados de $_POST + $_GET + $_COOKIE(veremos mais a frente).
Então, a estrutura geralmente é a seguinte:
Temos uma página com o formulário e outra página que vai receber os dados e fazer o processamento. Veja a imagem abaixo:

Como você estudou os links que eu passei, crie uma página chamada form.php com o seguinte código fonte (utilize o design do Dreanweaver ou não):
-
<html>
-
<head>
-
<title>Formulários em PHP</title>
-
</head>
-
<body>
-
<form name="form1" method="post" action="processa.php">
-
Digite seu nome:<br>
-
<input type="text" name="nome"/><br>
-
Digite sua idade:<br>
-
<input type="text" name="idade"/><br>
-
<input type="submit" name="button" value="OK" />
-
</form>
-
</body>
-
</html>
Nada de mais neh?
Linha 6: Inicializei o formulário, informei que o método de envio das variáveis será POST e que o formulário será submetido(action) para a página “processa.php”.
Linha 8 e 10: declaração dos campos do tipo texto com o ‘name’ identificando a que o campo se refere e para recuperar no PHP.
Linha 11: O botão de OK.
O resultado desta tela no navegador é o seguinte:

Agora vamos criar o arquivo processa.php. Este, será responsável por mostrar na tela o que a pessoa digitou no formulário. Crie o arquivo na mesma pasta do form.php com o seguinte código PHP:
-
<?php
-
$nome = $_POST["nome"];
-
$idade = $_POST["idade"];
-
-
echo "Você se chama: $nome e tem $idade anos.";
-
?>
Linha 2: Como o método do formulário foi POST, estamos atribuindo a variável $nome o valor digitado no campo ‘nome’.
Linha 3: Estamos atribuindo a variável $idade o valor digitado no campo ‘idade.
Linha 5: Estamos imprimindo uma frase onde utilizamos as variáveis que contem o valor dos campos.
Rodando o script, você verá algo parecido com isso:

Viram como é fácil trabalhar com formulários no PHP?
Agora você já pode brincar um pouco com este formulário e com estruturas de controle. Faça um IF que teste se a pessoa digitou os campos, caso tenha digitado, mostre a frase! Caso não tenha digitado, mostre uma mensagem de erro. Algo como o exemplo abaixo:
Agora que você já tem uma idéia, faça uma forma de informar se a pessoa é maior de idade ou menor de idade.
Espero ter ajudado.. qualquer coisa é só postar!!



4 Comentários to “Mini curso de PHP (Parte 8) – FORMULÁRIOS”
Caro Marcelo, venho acompanhando seu Curso de PHP e gostando apesar de ser meu primeiro contato com a linguagem. Gostaria de expressar meu contentamento e lhe dizer que indequei o seu cruso em meu Blog, que apesar de novo, espero que muitos tenham acesso ao curso através dele.
Abraços!
Por Weber Porto Amaral (1 comments) em 13/07/2008
ficou muito feliz com isso kra… muito mesmo..
Te respondi por e-mail ok? abraços
Por Marcelo Sabadini (109 comments) em 14/07/2008
Olá pessoal.
Foi questionado pelo fato de eu declarar as variáveis vindas do formulário. Pois viram em outros blogs as pessoas usando a variável diretamente.
Explicarei por que utilizo a declaração:
Desde a versão 4 do PHP, cogita-se a possibilidade de remover uma configuração no php.ini. A register_globals. Ela faz com que, por exemplo, um campo de um formulário que se chama ‘codigo’ seja acessado assim: $codigo.
A VERSÃO 6 DO PHP IRÁ REMOVER A register_globals.
Portanto, acostumem a declarar variáveis assim: $codigo = $_POST['codigo'].
Abraços
veja mais em: http://br.php.net/manual/pt_BR/security.globals.php
Por Marcelo Sabadini (109 comments) em 15/07/2008
Apanhei disso por horas ontem a noite! hahaha
valeu marcelão!
Somos nozes!
Por Diego (15 comments) em 15/07/2008