|
|
6-Passagem de Dados
Objetivo: Estudar formas de passar parâmetros entre páginas. Trabalhar com Sessõesb>Conteúdo:
- 1. Introdução
- 2. Cookies
- 3. Formulário com Tipo Hidden
- 4.Usando header
- 5. Sessões
- 6. Exercícios de Fixação
1. Introdução
No PHP Existem diferentes formas de passar dados entre páginas:- usando cookies
- usando formulários (e mais especificamente o tipo hidden)
- usando o comando header() e o método GET (enviando via um link)
- usando session
2. Cookies
Vimos cookies na seção 5. Clique aqui para ver exemplos de como usar cookies.3. Tipo Hidden
Uma opção para se enviar dados de uma página para outra é utilizando um formulário e, mais especificamente, o tipo hidden (escondido). Esse tipo de dado possibilita o envio do dado sem que o usuário precise informar algo.
Exemplo usando hidden
primeiro arquivo<html> <form action="teste_hidden_06b.php" method="POST"> Nome: <input type="text" name="nome" value="" > <input type="submit" value="Continuar"> </form> </html>segundo arquivo. Repare que a variavel nome e enviada escondida para a proxima pagina.
<?php
$nome = isset($_POST["nome"])? $_POST["nome"]:"";
if(empty($nome)){
echo "O nome não foi informado!";
exit();
}
else{
echo'
<form action="teste_hidden_06c.php" method="POST">
Sobrenome: <input type="text" name="sobrenome" value="" >
<input type="hidden" name="nome" value="' . $nome . '" >
<input type="submit" value="Continuar">
</form>';
}
?>
terceiro arquivo
<?php
$nome = isset($_POST["nome"])?$_POST["nome"]:"";
$sobrenome = isset($_POST["sobrenome"])?$_POST["sobrenome"]:"";
if(empty($nome) || empty($sobrenome)){
echo "Alguns dados não foram informados!";
exit();
}else{
echo "Cadastro realizado com sucesso!<br?>";
echo "nome = ".$nome."<br?>";
echo "sobrenome = ".$sobrenome."<br?>";
}
?>
Esses mesmos arquivos podem ser escritos utilizando-se sessão. Veja em: exemplo com sessão
Execute um exemplo com envio "hidden" clicando aqui.
Obtenha o zip dos arquivos clicando aqui.
4. Usando header
A função header() permite enviar dados para uma outra página, a partir do acesso á página junto com o método GET, ou simplesmente redirecionar sua página para outro local
Exemplo usando header
O exemplo "conversão de base" é apresentado a seguir. Repare que não foi utilizada sessão.
primeiro arquivo
<?php
$numero = isset($_GET['num']) ? $_GET['num'] : '';
if ($numero == ''){?>
<html>
<form action="teste2_header_form01.php" method="POST" >
Base 10: <input type="text" name="valor" >
<input type="submit" value="enviar">
</form>
</html>
<?php } //fecha if
else{
?>
<html>
<form action="teste2_header_form01.php" method="POST" >
Base 10: <input type="text" name="valor" >
<input type="submit" value="enviar">
</form>
</html>
<?php
echo "<br>";
echo "<hr>";
echo "numero digitado (Base 10) = ".$numero;
echo "<br>";
echo "numero na base 2 = ".decbin($numero);
echo "<br>";
echo "numero na base 16 = ".dechex($numero);
}//fecha else
?>
segundo arquivo.
Repare na utilização do header. Lembre-se que para utilizar o comando header é necessário que não haja saída alguma no browser.
Nesse exemplo, dependendo do conteúdo da variável "valor", carrega-se a página teste2_header_form00.php ou a página teste2_header_form02.php
<?php
if ($_POST['valor']==''){
header("Location:teste2_header_form00.php");
exit();
}elseif ($_POST['valor']=='x') {
header("Location:teste2_header_form02.php");
exit();
}else{
$num=$_POST['valor'];
header("Location:teste2_header_form00.php?num=".$num);
}
?>
IMPORTANTE
Repare na instrução:
header("Location:teste2_header_form00.php?num=".$num);
Ela faz referência a uma página e ao mesmo tempo envia um dado para ela. Isso é feito com o operador ?, seguido do nome da variável e de seu valor. A página receberá esse valor com o método GET.
terceiro arquivo<?php echo "fim do loop
"; ?> <html> <a href="teste2_header_form00.php">voltar> </html>
Veja o teste com header clicando aqui.
5. Sessões
Vimos cookies na seção 4. Clique aqui para ver exemplos de como usar sessões em PHP.6. Exercícios de Fixação
6.1 Arquivo ZIP com exemplos
Clique aqui para obter o arquivo com os exemplos dessa aula. Abra-os em uma pasta dentro da pasta que tenha o php ativo (htdocs no caso do xamp) e vá para o arquivos todos_exemplos.html.
Edite os códigos fonte. Entenda-os. Utilize-os como modelos para os exercícios da lista.
6.2 Exercício 2
Faça um formulário HTML-PHP contendo dados para matrícula de um aluno em uma escola. Utilize o CSS do Wufoo. O formulário deve conter no mínimo 6 dados diferentes e deve ser enviado para um página PHP usando os recursos vistos nessa aula, quais sejam:
- cookie
- hidden
- header
- session
(voltar para o topo)