Linguagem de Programação III
Includes e
formulários HTML
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Includes em PHP
- reaproveitamento de funções ou
arquivos
- uma alteração reflete em todas as
páginas do site
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Includes em PHP
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Includes em PHP
include “nome_do_arquivo”;
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Includes em PHP
<font size=”2”>
<p><a href=”assine.php”>ASSINE</a></p>
<p><a href=”sac.php”>SAC</a></p>
<p><a href=”batepapo.php”>BATE-PAPO</a></p>
<p><a href=”noticias.php”>NOTÍCIAS</a></p>
<p><a href=”carros.php”>CARROS</a></p>
…
</font>
Salvar este código com o nome: menu.inc
<?php include “menu.inc”; ?>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Includes em PHP
- as páginas com include devem ter a extensão .php
- para acrescentar o menu AJUDA, basta alterar apenas o arquivo
menu.inc
<font size=”2”>
<p><a href=”assine.php”>ASSINE</a></p>
<p><a href=”sac.php”>SAC</a></p>
<p><a href=”batepapo.php”>BATE-PAPO</a></p>
<p><a href=”noticias.php”>NOTÍCIAS</a></p>
<p><a href=”carros.php”>CARROS</a></p>
<p><a href=”ajuda.php”>AJUDA</a></p>
…
</font>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Includes em PHP
- podem ser criados
- menu.inc
- cabecalho.inc
- rodape.inc
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Includes em PHP
Exibir data atual
<?php
$meses = array ("Janeiro", "Fevereiro", "Março",
"Abril", "Maio", "Junho", "Julho", "Agosto",
"Setembro", "Outubro", "Novembro", "Dezembro");
$dia = date ("d", time( ));
$mes = date ("m", time( ));
$ano = date ("Y", time( ));
echo $dia . " de " . $meses [$mes-1] . " de " . $ano;
?>
data.inc
4 de Agosto de 2014
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Reutilização de código
- podemos colocar várias funções em um include
<?php include “funcoes_aux.inc”; ?>
<html>
<body>
…
<?php
$nome = maiusculo ($nome);
?>
</body>
</html>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Include X Require
- include – pode incluir vários arquivos
- require – pode incluir um arquivo
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Include X Require
$incluir = array (“funcoes_aux.inc” , “cabecalho.inc ”,
“data.inc”);
for ($i=0 ; $i<sizeof($incluir) ; $i++)
{
require “'$incluir[$i]”;
}
for ($i=0 ; $i<sizeof($incluir) ; $i++)
{
include “'$incluir[$i]”;
}
- usar sempre { }
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
- como enviar informações para um
programa PHP
- campo de entrada de dados e um botão
para enviar esses dados
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
formulario.html
<form>
<p>Digite seu email: <input type="text"
name="email" size="20"></p>
<p><input type="submit" value="Enviar!"
name="enviar""></p>
</form>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
formulario.html
<form action=”recebe_dados.php”>
<p>Digite seu email: <input type="text"
name="email" size="20"></p>
<p><input type="submit" value="Enviar!"
name="enviar""></p>
</form>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
Opção
Descrição
name
Nome do campo
value
Valor-padrão para cada campo
size
Tamanho do campo
maxlength Número máximo de caracteres do campo
type
Prof Mauricio Lederer
Tipo do campo
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
Valor
text
password
Descrição
Caixa de texto com valores numéricos ou alfanuméricos
Digitação de senhas. Serão mostrados ****
hidden
Não aparece na tela
select
Lista de seleção. Drop-down
checkbox
Prof Mauricio Lederer
Caixa de seleção que pode ser marcada ou desmarcada
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
Valor
radio
textarea
Descrição
Botões de seleção com uma escolha
Caixa de texto com várias linhas
file
Permite o envio de arquivos
submit
Botão que envia o formulário
image
Imagem que envia o formulário
reset
Retorna o campo do formulário ao valor padrão
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
<p><strong>O que você achou do site?</strong>
<dl><dd>
<input type="radio" name="avaliacao"
value="muitobom" checked>Muito Bom
<input type="radio" name="avaliacao"
value="bom">Bom
<input type="radio" name="avaliacao"
value="regular">Regular
<input type="radio" name="avaliacao"
value="umlixo">Um Lixo
</dd> </dl>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
p><strong>Qual a seção que você mais gostou?
</strong><dl>
<dd>
<select name="secao" size="1">
<option value="emcartaz">Em
Cartaz</option>
<option value="trilhasonora">Trilha
Sonora</option>
<option value="fotos">Galeria de
Fotos</option>
<option
value="bilheteria">Bilheteria</option>
<option value="outra">Outra</option>
</select>
Outra: <input type="text" size="26"
maxlength="256" name="outra"></dd>
</dl>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
Prof Mauricio Lederer
<p><strong>Digite seus comentários no espaço
abaixo:</strong><dl>
<dd>
<textarea name="Comentarios" rows="5"
cols="42"></textarea>
</dd> </dl>
<p><strong>Diga-nos como entrar em contato
com você:</strong><dl>
<dd><pre>
Nome
<input type="text" size="35"
maxlength="256" name="nome">
E-mail
<input type="text" size="35"
maxlength="256" name="email">
Fone
<input type="text" size="35"
maxlength="256" name="fone">
FAX
<input type="text" size="35"
maxlength="256" name="fax">
</pre>
</dd> </dl> <dl>
<dd>
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Formulários
<input type="checkbox" name="novidades"
value="nov"> Quero receber as novidades do
site
por e-mail</dd></dl>
<p><input type="submit" value="Enviar
Dados"> <input type="reset" value="Limpar
Formulário"></p>
</form>
</BODY>
</HTML>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Enviar informações
- Método POST e GET
<HTML>
<BODY>
<form action="processa.php" method=”POST”>
...
<p><input type="submit" value="Enviar Dados"> <input type="reset"
value="Limpar Formulário"></p>
</form>
</BODY>
</HTML>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Enviar informações
Método GET
- é o padrão
<form action=”recebe_dados.php”>
<p>Digite seu nome: <input type="text" name="nome" size="30"></p>
<p>Digite sua idade: <input type="text" name="nome" size="3"></p>
</form>
http://www.site.com.br/recebe_dados.php?nome=Joaquim&idade=20
- limite de 2000 caracteres
- parâmetros aparecerem no endereço do browser
- passagem de parâmetros por links
- enviar dados com poucos campos
http://www.site.com.br/produtos.php?id_produto=50
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Enviar informações
Método POST
- precisa ser informado
<form action=”recebe_dados.php” method=”POST”>
<p>Digite seu nome: <input type="text" name="nome" size="30"></p>
<p>Digite sua idade: <input type="text" name="nome" size="3"></p>
</form>
http://www.site.com.br/recebe_dados.php
- dados são enviados no corpo da mensagem enviada ao servidor
- parâmetros não aparecerem no endereço do browser
- não há limitação no tamanho dos dados (recomendável)
- envio de imagens
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Como tratar as informações
- Tratar como se fossem variáveis
- campo nome é $nome
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Como tratar as informações
- utilizar arrays $_GET ou $_POST
$_POST[“nome”]
$_POST[“email”]
$_GET[“nome”]
$_GET[“nome”]
- mais seguro
- cuidado para não criar campos com o mesmo nome
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Verificando campos de formulário
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Verificando campos de formulário
<form method="POST" action="recebe_dados.php">
<div align="center"><center>
<p>Username: <input type="text" name="username" size="10">&nbsp;&nbsp;
Senha: <input type="password" name="senha" size="10"></p>
</center></div>
<div align="center"><center>
<p>Nome: <input type="text" name="nome" size="20"></p>
</center></div>
<div align="center"><center>
<p>E-mail: <input type="text" name="email" size="20"></p>
</center></div>
<div align="center"><center>
<p>Cidade: <input type="text" name="cidade" size="20">&nbsp;&nbsp; Estado:
<input type="text" name="estado" size="2" maxlength="2"></p>
</center></div>
<div align="center"><center>
<p><input type="submit" value="Enviar" name="enviar"></p>
</center></div>
</form>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Verificando campos de formulário
<html>
<title>Desenvolvendo Websites com PHP</title>
<body>
<?php
$username = $_POST["username"];
$senha =
$_POST["senha"];
$nome = $_POST["nome"];
$email =
$_POST["email"];
$cidade = $_POST["cidade"];
$estado = $_POST["estado"];
$erro=0;
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Verificando campos de formulário
if (strlen($username)<5)
{
echo "O username deve possui no mínimo 5 caracteres.<br>";
$erro=1; }
if (strlen($senha)<5)
{
echo "A senha deve possui no mínimo 5 caracteres.<br>"; $erro=1;
if ($username == $senha)
{
echo "O username e a senha devem ser diferentes.<br>"; $erro=1;
if (empty($nome) OR strstr ($nome, ' ')==FALSE)
{
echo "Favor digitar seu nome corretamente.<br>"; $erro=1; }
if (strlen($email)<8 || strstr ($email, '@')==FALSE)
{
echo "Favor digitar seu e-mail corretamente.<br>"; $erro=1; }
if (empty($cidade))
{
echo "Favor digitar sua cidade.<br>"; $erro=1; }
if (strlen($estado)!=2)
{
echo "Favor digitar seu estado corretamente.<br>"; $erro=1; }
// VERIFICA SE NÃO HOUVE ERRO
if($erro==0)
{
echo "Todos os dados foram digitados corretamente!"; }
?>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
}
}
Verificando campos de formulário
Função
Descrição
empty
Verifica se a string está vazia
strlen
Retorna o número de caracteres da string
strstr
Acha a primeira ocorrência da string
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Utilização do hidden
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Utilização do hidden
<p><strong>Inclusão de produtos</strong></p>
<form method="POST" action="gerencia.php">
<input type="hidden" name="operacao" value="inclusao">
<p>
Código do produto: <input type="text" name="codigo_produto" size="5"><br>
Nome do produto: <input type="text" name="nome_produto" size="20"><br>
Descrição do produto: <input type="text" name="descricao_produto"
size="20">
</p>
<p><input type="submit" value="Incluir" name="incluir"></p>
</form>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Utilização do hidden
<p><strong>Alteração de produtos</strong></p>
<form method="POST" action="gerencia.php"><p>
<input type="hidden" name="operacao" value="alteracao">
Código do produto: <input type="text" name="codigo_produto" size="5"><br>
Novo Nome do produto: <input type="text" name="nome_produto"
size="20"><br>
Nova Descrição do produto: <input type="text" name="descricao_produto"
size="20">
</p>
<p><input type="submit" value="Alterar" name="alterar"></p>
</form>
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Utilização do hidden
<p><strong>Exclusão de produtos</strong></p>
<form method="POST" action="gerencia.php"><p>
<input type="hidden" name="operacao" value="exclusao">
Código do produto: <input type="text" name="codigo_produto" size="5"><br>
<input type="submit" value="Excluir" name="excluir"></p>
</form>
Opção
Descrição
name
Nome do campo que será a variável
value
Valor do campo de name
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Utilização do hidden
<?php
$operacao = $_POST["operacao"];
if ($operacao == "inclusao")
{
// realiza a inclusão do produto
echo "Produto incluído!";
}
elseif ($operacao == "alteracao")
{
// realiza a alteração do produto
echo "Produto alterado!";
}
elseif ($operacao == "exclusao")
{
// realiza a exclusão do produto
echo "Produto excluído!";
}
?>
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Prof Mauricio Lederer
Exercícios
Fazer um formulário de cadastro com a seguinte aparência ...
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Exercícios
E que tenha o seguinte resultado:
- fazer tratamento dos dados
- usar o método POST
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Exercícios
Crie um form com os seguintes campos e imprima na tela as
informações digitadas:
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Exercícios
Crie uma calculadora como esta:
Prof Mauricio Lederer
Análise e Desenvolvimento de Sistemas - UNIANDRADE
Download

Includes e formulários HTML