Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, eu quero fazer um sistema de template, mas ainda não sei como. Bom o que eu quero é assim:
index.PHP
<html>
<head>
<title><?php $pagina ?></title> //O titulo da pagina vai mudar conforme o conteudo acesado
</head>
<body>
Está é uma Página teste //Está parte sempre será exibida
<br>
<a href='Conteudo01'>Conteudo01</a>
<a href='Conteudo02'>Conteudo02</a>
<a href='Conteudo03'>Conteudo03</a>
<br>
${conteudo[]} //É mostrado o conteudo requisitado 01, 02 ou 03
<br>
Este é o rodapé da Página teste //Esta parte também sempre será exibida
</body>
</html>Explicando: O que penso em fazer é uma pagina "Mestre" que terá todo o esqueleto do site e as páginas conteúdos que serão "jogados" na página "Mestre" conforme o link que é clicado. Porém eu não sei fazer com que quando clique em determinado link seje requisitado o conteúdo desejado.
O método que tento explicar pra vocês é parecido com isso: "http://www.site.com.br/?pag=conteudo". Acho que esse método se chama QueryString mas não tenho certeza.
Bom, se puderem ajudar agradeço
Ta, até ai entendi, mas não entendi como faço pra que quando eu clicar em um link ele de o valor para a variavel $pag
Do jeito que você postou, tipo:
http://seusite.com.br/?pag=noticias
No código:
$pag = $_GET["pag"];Ele pega o valor do parametro pag enviado pela URL.
Levando em consideração que index.php é sua pagina mestre
basta por o link assim
<a href="index.php?pag=conteudo01">Conteudo 01</a>
<a href="index.php?pag=conteudo02">Conteudo 02</a>
<a href="index.php?pag=conteudo03">Conteudo 03</a>
simples assim ^^
Abraço
Como o maths falou (podendo ser adicionada apenas a variação da queryString quando se 'redirecionando' para a própria página).
Os links alteram a queryString que passa pro PHP a referência de que arquivo incluir como contéudo.
Exemplo:
>
pagina.php:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml"](http://www.w3.org/1999/xhtml) xml:lang="pt-br" lang="pt-br">
<head>
<title>Exemplo by skt</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css" media="all">
<!--
body {
background-color: #BFEFFF;
}
.corpo {
background-color: #ADD8E6;
width: 600px;
height: 150px;
border: 1px solid #000000;
padding: 4px 7px;
}
a:link, a:visited, a:active {
color: #1874CD;
text-decoration: none;
border: 1px solid #000000;
border-bottom: 0px;
padding: 1px;
}
a:hover {
text-decoration: none;
background-color: #ADD8E6;
color: #000080;
}
-->
</style>
</head>
<body>
<a href='?page=exemplo'>exemplo</a>
<a href='?page=exemplo2'>exemplo2</a>
<div class="corpo">
<?php
@$page =& $_GET['page'];
if(isset($page)){
$page .= '.php';
if(file_exists($page)){
require $page;
}
}
?>
</div>
</body>
</html><?php
echo <<<EOF
<p>Parabens!</p>
<strong>Você está aprendendo a dar includes 'dinâmicos'!</strong>
EOF;
?><?php
echo <<<EOF
<p>Parabens!</p>
<strong>Você acabou de incluir a página exemplo2.php!!!</strong>
EOF;
?>skt -> eibon
Ae obrigado a todos.
@eibon: @$page =& $_GET['page']; - Pra que serve o "@" exatamente? e o que siginifica o "=&"? Não bastaria colocar "="?
echo <<<EOF - O que faz esse "<<<EOF?
Agradeço a paciencia.
@$page =& $_GET['page'];
Alguem sabe pra que serve esse @ (arroba) que ele colocou? Thks
>
@$page =& $_GET['page'];
Alguem sabe pra que serve esse @ (arroba) que ele colocou? Thks
o @ oculta os erros do php, ou seja nao vai aparecer mensagem na tela
e o =& eu acredito que seja uma comparação bit a bit
>
Ae obrigado a todos.
@eibon: @$page =& $_GET['page']; - Pra que serve o "@" exatamente? e o que siginifica o "=&"? Não bastaria colocar "="?
echo <<<EOF - O que faz esse "<<<EOF?
Agradeço a paciencia.
entre
<<<EOF
EOF;
você pode escrever codigo html sem se preocupar com as aspas do echo
echo <<<EOF
código html
EOF;
>
<<<EOF
EOF;
é um construtor de linguagem usado sob "saída da sintaxe" (output sintax),
ou seja, o valor acondicionado na sintaxe é interpretado de forma literal, porém, permite que seja feita interpolação com variáveis
exemplos
<?php
echo <<<QUALQUERCOISA
texto qualquer
<br>
"texto com aspas duplas!" e 'aspas simlpes'!!
QUALQUERCOISA;
<?php
$variavel = time();
echo <<<TESTE
texto qualquer
<br>
$variavel
<br>
"texto com aspas duplas!" e 'aspas simlpes'!!
TESTE;
atribuindo a uma variável
<?php
$variavel = time();
$VarTeste = <<<TESTE
texto qualquer
$variavel
"texto com aspas duplas!" e 'aspas simlpes'!!
TESTE;
echo $variavel;Realmente Obrigado: @eibon, @Skyo, @Lost Bruner e @hinom. Problema resolvido, pode fechar o tópico. Grato.
Bom você tem que criar um script que captura esse "pag=conteudo" e trabalhar com as condições para include.
Ai você pode esse script no local que deseja incluir o conteudo.
Por exemplo:
{ elseif($pag == "downloads") { elseif($pag == "produtos") { // Agora uma pagina default, geral... else { Basicamente, isso...Ao inves de if/else...
Você poderia usar switch.
http://br.php.net/switch