Buscar

LINGUAGEM DE PROGRAMAÇÃO WEB

Prévia do material em texto

LINGUAGEM DE 
PROGRAMAÇÃO WEB
GABRIELA TREVISAN
Aula 4
Imagine a seguinte situação: 
◦ Precisamos trafegar valores de uma 
página PHP para outra, porém não temos 
formulários entre essas páginas.
Como fazer isso? 
A resposta é simples, podemos utilizar 
o header(location:) para redirecionar 
para outra página passando valores 
via $_GET[].
Header(location:)
O comando header permite redirecionar uma página para outra 
página, como por exemplo:
header('location:http://www.terra.com.br');
Nesse exemplo o header está redirecionando para o site do terra. 
Vamos fazer isso no nosso código!
Header (location:)
Vamos imaginar que estamos na página Pessoa e desejamos exibir 
os dados recebidos da Pessoa em uma página chamada Resposta.
 Nos exemplos anteriores estávamos imprimindo diretamente da 
classe Pessoa, o que é errado. A classe Pessoa não pode ter 
interação com o usuário. 
Então vamos redirecionar via header(location:url) enviando 
variáveis via GET para a página de destino, no caso a Resposta.
Header (location:)
Para enviar uma variável via $_GET[] utilizamos após a URL o sinal de interrogação “?” seguido
do nome da variável e o seu valor, como por exemplo:
header("location:resposta.php?nome=$nome");
Vamos verificar somente o código em negrito:
?nome=$nome
Header (Location)
A interrogação indica que vamos passar valores via $_GET[].
Após a interrogação temos o nome da variável, no caso o nome da 
variável é “nome”.
O sinal de igual “=” serve para informar qual valor será atribuido a 
variável “nome”, no caso é um valor vindo de um atributo do objeto 
aluno.
ATENÇÃO: Note que tudo entre os parênteses do comando header 
estão entre “aspas”, isso devido ao fato que o conteúdo deve ser 
interpretado pelo PHP, pois temos objetos e atributos.
Passando 2 valores
Podemos passar mais de um valor via $_GET[] na URL. 
Mas como fazer isso? 
Para passar 2 ou mais valores basta separar através de “E comercial” &, como por 
exemplo: 
header("location:resposta.php?nome=$nome&idade=$idade");
Neste caso estamos passando duas variáveis, são elas: nome e idade.
Vamos passar 3 variáveis, como por exemplo:
header("location:resposta.php?nome=$idade=$
idade&media=$media");
Passando 3 valores
Neste caso estamos passando as variáveis: nome, idade.
O código do controle fica:
include 'pessoa.class.php';
//Recebendo valores através do array $_POST[]
$nome = $_POST['txtnome'];
$idade = $_POST['txtidade'];
$pessoa = new Pessoa($nome,$idade);
Passando 2 valores
Passando 2 valores
//Antes estávamos imprimindo direto da classe Controle. 
ERRADO!!!
//echo $pessoa;
//Agora vamos direcionar para a página Resposta.php passando 
variáveis através da URL utilizando o array GET.
header("location:resposta.php?nome=$nome&idade=$idade");
?>
Resgatando valores na Resposta.php
 Para buscar os valores na outra página necessitamos que 
a mesma tenha a extensão *.php, caso contrário não 
funcionará.
 A página de resposta geralmente terá código html. O 
código html pode ser simples, porém dentro da tag body
vamos abrir um script em PHP e vamos resgatar os valores 
através do $_GET[];
Resgatando valores na resposta.php
<body>
<h1>Dados informados</h1>
<?php
echo '<p>nome: '.$_GET['nome'].
‘<br />idade: '.$_GET['idade'].'</p>';
?>
</body>
Visualizando as variáveis na URL
Métodos mágicos do PHP
 Os métodos mágicos servem para nos auxiliar na 
programação. 
 Todos os métodos mágicos tem uma característica 
em comum, eles iniciam com dois underlines antes 
do nome, como por exemplo: __construct().
Não devemos colocar nome de método precedido de dois 
underlines
Métodos mágicos do PHP
__construct()
__destruct()
__get()
__set()
__toString()
Utilização
Vamos supor uma classe Pessoa onde tenhamos três 
atributos, são eles: nome, sexo e idade. 
No construtor mágico passaremos somente nome e 
sexo. 
Mas porque isso? 
Passando só 2 atributos para o terceiro possa ser enviado via 
setMágico. Assim você entenderá como passar por construtor ou 
através do set mágico.
Programando...
<?php
class Pessoa{
private $nome;
private $idade;
//construtor
public function __construct($nome){
$this->nome = $nome;
}
Programando...
public function __get($atributo){
return $this->$atributo;
}
public function __set($atributo, $valor){
$this->$atributo = $valor;
}
public function __toString(){
return '<p>nome: '.$this->nome.
'<br />idade: '.$this->idade.'</p>';
}
}
?>
Programando...
Agora vamos supor a classe ControlePessoa.php onde 
instanciaremos um objeto da classe Pessoa.
<?php
include 'Pessoa.class.php';
//Recebendo valores através do array $_POST[]
$nome = $_POST['txtnome'];
$idade = $_POST['txtidade'];
Programando...
//Passando nome e sexo através do construtor.
$pessoa = new Pessoa($nome);
//Passando a variável idade através do set 
mágico.
$pessoa->idade = $idade;
Programando...
/* Imprimindo todos atributos da classe Pessoa através do toString.
Para chamar o método toString basta solicitar a impressão do objeto conforme exemplo: */
echo $pessoa;/*
2ª maneira: imprimindo via get Mágico.
echo '<p>nome: '.$pessoa->nome.
'<br />idade: '.$pessoa->idade.'</p>';
*/
?>
Exemplo de Telas
CADASTRO
Tipo de Função:
Valor total de vendas do Mês:
Nome:
Salário Bruto:
Vale Transporte: Sim ou Não
Vale Refeição:Sim ou Não
Auxílio Creche: Sim ou Não
RELATÓRIO
Função: Gerente
Valor de Vendas: R$ 500000,00
Nome: João Souza
Salário Bruto: R$ 15000,00
Vale Transporte:Não
Vale Refeição: Sim
Auxílio Creche: Sim
Total de Proventos: R$ 
Total de Descontos: R$
Salário Líquido: R$

Continue navegando