Sie sind auf Seite 1von 5

Disciplina: Tópicos Especiais em TI – PHP

Este material foi produzido com base nos livros e documentos citados abaixo, que
possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade ao
curso.
Livro: Desenvolvendo Websites com PHP
Apostila da Divisão de Serviços à Comunidade – Centro de Computação – Unicamp

Passando Informações por várias páginas

Existem situações onde precisamos repassar os dados para as próximas páginas do site.
Um exemplo típico é o caso de cadastramento de usuários. Como geralmente os
formulários de cadastro possuem muitos campos a serem preenchidos, os
desenvolvedores optam por dividir esse cadastramento em duas ou mais etapas.

Utilizando o campo hidden dos formulários

O tipo hidden permite a passagem de informações entre páginas de forma que esta
informação não seja visível para o usuário que estiver manipulando o formulário.
Como exemplo podemos utilizar um formulário para administrar uma loja, onde é
possível incluir, alterar e excluir produtos. Os dados dos produtos são representados
pelos seguintes campos do formulário: código_produto, nome_produto e
descricao_produto. Então poderíamos ter uma página HTML com três formulários, um
para cada função, mas todos ativando o mesmo programa.
Exemplo:

<p><strong>Inclusão de produtos</strong></p>
<form method=”POST” action=”gerencia.php”>
<input type=”hidden” name=”operacao” value=”inclusao”>
<p>
Codigo 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>

<p><strong>Alteração de produtos</strong></p>
<form method=”POST” action=”gerencia.php”>
<input type=”hidden” name=”operacao” value=”alteracao”>
<p>
Codigo 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>

<p><strong>Exclusão de produtos</strong></p>

1
<form method=”POST” action=”gerencia.php”>
<input type=”hidden” name=”operacao” value=”exclusao”>
Codigo do produto: <input type=”text” name=”codigo_produto” size=”5”><br>
<p> <input type=”submit” value=”Excluir” name=”excluir” ></p>
</form>
Estes três formulários ativam o programa gerencia.php que deve ser capaz de realizar as
funções de inclusão, alteração e exclusão de produtos. O programa saberá qual das três
funções executar quando consultar o campo operação, passado no modo escondido
(hidden) pelo formulário. Exemplo:

<?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!";
}
?>

Se não utilizássemos o campo hidden teríamos de criar três programas: um para incluir,
outro para alterar e outro para excluir produtos.

Dividindo o cadastramento de usuários por etapas

Muitas vezes os sites possuem formulários com muitos campos a serem preenchidos, e
isso leva os desenvolvedores a fazer uma divisão do cadastramento em mais de uma
página. Vamos ver como podemos dividir um cadastramento e utilizar o campos hidden
do formulário para passar informações entre as páginas. Dividiremos os campos em três
páginas. As páginas foram nomeadas como etapa1.php, etapa2.php e etapa3.php.

etapa1.php

<html>
<title>Desenvolvendo Websites com PHP</title>
<body>
<p align="center"><big><big><strong>Cadastramento - Etapa 1 de
3</strong></big></big></p>
<form method="POST" action="etapa2.php">
<div align="center"><center>
<p>Nome: <input type="text" name="nome" size="20"></p>

2
</center></div><div align="center"><center>
<p>E-mail: <input type="text" name="email" size="20"></p>
</center></div><div align="center"><center>
<p>Data de nascimento: <input type="text" name="datanascimento" size="20"></p>
</center></div><div align="center"><center><p>
Sexo: <input type="radio" value="masculino"
checked name="sexo">Masculino&nbsp;&nbsp; <input type="radio" name="sexo"
value="feminino">Feminino</p>
</center></div><div align="center"><center>
<p>Profissão: <input type="text" name="profissao" size="20"></p>
</center></div><div align="center"><center><p><input type="submit"
value="Prosseguir &gt;&gt;" name="prosseguir"></p>
</center></div>
</form>
</body>
</html>

Na opção action da tag form indicamos a página etapa2.php para receber os dados
digitados.

etapa2.php

<html>
<title>Desenvolvendo Websites com PHP</title>
<body>
<p align="center"><big><big><strong>Cadastramento - Etapa 2 de
3</strong></big></big></p>
<form method="POST" action="etapa3.php">
<input type="hidden" name="nome" value="<?php echo $nome; ?>">
<input type="hidden" name="email" value="<?php echo $email; ?>">
<input type="hidden" name="datanascimento" value="
<?php echo $datanascimento; ?>">
<input type="hidden" name="sexo" value="<?php echo $sexo; ?>">
<input type="hidden" name="profissao" value="<?php echo $profissao; ?>">
<div align="center"><center>
<p>Telefone: <input type="text" name="telefone" size="20"></p>
</center></div><div align="center"><center>
<p>Endereco: <input type="text" name="endereco" size="20"></p>
</center></div><div align="center"><center>
<p>Cidade: <input type="text" name="cidade" size="20">&nbsp;&nbsp;&nbsp;
Estado:<input type="text" name="estado" size="2"></p>
</center></div><div align="center"><center>
<p>CEP: <input type="text" name="cep" size="9"></p>
</center></div><div align="center"><center><p><input type="submit"
value="Prosseguir &gt;&gt;" name="prosseguir"></p>
</center></div>
</form>
</body>
</html>

3
Após a tag form estamos passando todos os campos obtidos na primeira etapa. Isso é
feito por meio da opção value dos campos de entrada do tipo hidden.

etapa3.php

<html>
<title>Desenvolvendo Websites com PHP</title>
<body>
<p align="center"><big><big><strong>Cadastramento - Etapa 3 de
3</strong></big></big></p>
<form method="POST" action="cadastra.php">
<input type="hidden" name="nome" value="<?php echo $nome; ?>">
<input type="hidden" name="email" value="<?php echo $email; ?>">
<input type="hidden" name="datanascimento" value="
<?php echo $datanascimento; ?>">
<input type="hidden" name="sexo" value="<?php echo $sexo; ?>">
<input type="hidden" name="profissao" value="<?php echo $profissao; ?>">
<input type="hidden" name="telefone" value="<?php echo $telefone; ?>">
<input type="hidden" name="endereco" value="<?php echo $endereco; ?>">
<input type="hidden" name="cidade" value="<?php echo $cidade; ?>">
<input type="hidden" name="estado" value="<?php echo $estado; ?>">
<input type="hidden" name="cep" value="<?php echo $cep; ?>">
<div align="center"><center><p>Username: <input type="text" name="username"
size="10"></p>
</center></div><div align="center"><center><p>Senha: <input type="text"
name="senha"
size="10"></p>
</center></div><div align="center"><center><p>Confirme sua Senha: <input
type="text"
name="confirma_senha" size="10"></p>
</center></div><div align="center"><center><p><input type="submit"
value="Finalizar Cadastro" name="fim"></p>
</center></div>
</form>
</body>
</html>

Quando o usuário clicar no botão “Finalizar Cadastro”, será ativada a página


cadastra.php, que receberá os dados digitados desde a primeira etapa, que foram sendo
passados por meio dos campos do tipo hidden. Esta página será encarregada de
cadastrar o usuário no banco de dados do site utilizando as informações recebidas.

Como você já deve ter percebido, não foi realizada nenhuma verificação dos valores
digitados nos formulários.

Exercício:

Utilizando os formulários etapa1.php, etapa2.php e etapa3.php, inclua nestes


exemplos a validação dos campos preenchidos pelo usuário, verificando se os
campos são válidos ou se algum campo foi deixado em branco.

4
PHP e variáveis de ambiente
Embora possam ser utilizadas nos programas PHP, essas variáveis são do ambiente do
servidor Web, e não da linguagem PHP. Como o uso destas variáveis, podemos
descobrir informações como qual o tipo de browser que o visitante está utilizando, qual
o endereço IP do visitante, etc.

Para obter o valor das variáveis de ambiente, utilizando a função getenv do PHP.
Sintaxe:

getenv(“nome_da_variável”);

Para obter o endereço IP de um usuário utilizamos a variável de ambiente


REMOTE_ADDR, como o exemplo seguinte:

$ip = getenv(“REMOTE_ADDR”);

Lista das variáveis de ambiente

Variável Descrição
SERVER_SOFTWARE Servidor e softwares utilizados (ex: Apache, PHP, etc).
SERVER_NAME Nome do servidor (hostname) ou endereço IP.
SERVER_PROTOCOL Nome e versão do protocolo utilizado (ex: http/1.1).
SERVER_PORT Número da porta para a qual a requisição foi feita.
REQUEST_METHOD O método do envio de dados utilizado (ex: GET ou
POST).
SCRIPT_NAME Caminho virtual para o script que está sendo utilizado.
Usado por páginas que referenciam elas mesmas.
QUERY_STRING Armazena tudo o que vem após o ? em uma url
chamada.
REMOTE_HOST Nome do host (hostname) de onde veio a requisição.
REMOTE_ADDR Contém o endereço IP do visitante que solicitou a
página.
AUTH_TYPE Método de autenticação (usado por servidores que
suportam autenticação de usuários).
REMOTE_USER Nome do usuário (se o servidor suporta autenticação).
CONTENT_LENGHT Tamanho dos dados (em bytes) recebidos pelo servidor.
HTTP_USER_AGENT Nome e versão do browser utilizado pelo cliente.

Das könnte Ihnen auch gefallen