Jump to content


Photo

Mudar Conteúdo Sem Mudar Layout


  • Faça o login para participar
12 replies to this topic

#1 umarizal

umarizal

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP - Brasil
  • Interesses:Programação para web, Webdesign, PHP, Banco de Dados SQL, etc.

Posted 12/02/2009, 19:49

Saudações pessoal.

Primeiramente gostaria de dizer que não sou programador em PHP (por isso estou perguntando) mas também não sou 100% newbie, já mexo com HTML há algum tempo e edito alguns scripts PHP que eu uso.
Meu site atual é: http://www.umarizal.com e usa Frames... quero criar um novo em PHP sem frames... com links do gênero "index.php?pg=NOME_DA_PÁGINA"

Estou querendo criar um novo site, no entanto, gostaria de manter a seguinte estrutura em todas as páginas:
- Parte superior com Logotipo
- Faixa abaixo do Logo com menu simples
- Parte central onde será exibido o conteúdo, que variará de acordo com os cliques
- Menu Lateral, na esquerda
- Pequena faixa inferior com informações de Copyright e alguns ítens clicáveis.

Gostaria de manter esta estrutura somente mudando o conteúdo. Lembrando que não quero usar frames (o site atual já usa frames, e o novo não quero usar).

Gostaria que as informações referentes ao layout e menus (superior, lateral e inferior) ficassem em um único arquivo para fácil edição e alterações futuras... e as demais páginas, só possuíssem o texto a ser exibido quando clicarem.

Não sei se deu pra entender...

Se puderem, visitem o site atual e vejam como ele funciona... quero exatamente como é, porém, sem frames... em PHP.

Se puderem me dar uma luz, vou ficar muito feliz...

Já li muito aqui sobre QueryStrings... mas não consegui achar algo que seja o que quero... O que mais se aproximou depois de configurado foi este script:PHP?dir

Edição feita por: umarizal, 15/02/2009, 21:59.


#2 cm8

cm8

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino

Posted 12/02/2009, 21:41

procure por include.

até mais
Michael Silva
PubliHost.net - Hospedagem de sites - a partir de R$ 11,90

http://www.publihost.net

#3 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 13/02/2009, 00:43

postou no lugar errado, se tivesse postado na sala geral de php as chances de receber ajuda seriam maiores.


MOVIDO

(y) Até mais

#4 umarizal

umarizal

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP - Brasil
  • Interesses:Programação para web, Webdesign, PHP, Banco de Dados SQL, etc.

Posted 15/02/2009, 21:58

Obrigado por mover Admin...

Espero que tenham compreendido o que desejo...

Desejo criar páginas com layouts padronizados (já utilizo CSS) em PHP onde os "Menus", Cabeçalhos e Rodapés não se alterem ao mudar as páginas... somente a área central... sem usar Frames.

Desde já, obrigado!

#5 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 16/02/2009, 11:57

O nome disso é query string.

Monte seu layout, e no centro da index, onde vc quer que seja exibido o conteúdo, você coloca este código:

[codebox] <?php
$pagina= isset($_GET['pagina']) ? $_GET['pagina'] : ".";
$inc = file_exists($pagina.".php") ? $pagina.".php" : "inicial.php";
include_once ($inc);
?>
[/codebox]

Desta forma, os links serão constituidos por ex: index.php?pagina=nomedasecao...

este "nomedasecao" será um arquivo .php (nomedasecao.php) e conterá os conteúdos relativos a aquela seção.

Qualquer dúvida manda aí!

Edição feita por: maykel, 16/02/2009, 11:59.

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#6 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 16/02/2009, 16:40

um jeito que gosto de utilizar para sites pequenos é o switch:

<?php $pagina = $_GET['pagina']; ?>
			  <?php switch ($pagina){
	case "Busca": //se o valor da variavel pagina for igual a busca
		include ("busca.php"); //inclua busca.php
		break; //Pare o script
	case "noticias":  //se o valor da variavel pagina for igual a noticias
	default: //ou se for algo que não esteja na chave
	include ("noticias.php"); //inclua noticias.php
	break; //Pare o script
		  } ?>
Para cada pagina do site você usa um case.
Agora se for um site grande, recomendo usar o file_exists citado acima (y)
Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||

#7 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 16/02/2009, 16:41

tanto faz se é pra pequeno ou grande. Switch é muito trabalhoso e tem o mesmo resultado!

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#8 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 16/02/2009, 17:19

Certo, os dois tem o mesmo resultado e o switch eh mais trabalhoso.
Porem, usar um switch na minha opnião deixa o site um pouco mais seguro... nunca testei, mas confio mais num switch quando posso utiliza-lo =)
Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||

#9 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 17/02/2009, 08:44

como existe o file_exists no meu script, acredito que isso tiraria boa parte da vulnerabilidade. Ele vai verificar se o arquivo existe mesmo no servidor, e não em outro... já fiz uns testes um tempo atrás quando achei que meu site foi invadido através da querystring...

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#10 fabianocrz

fabianocrz

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 24/05/2009, 09:54

Caro amigo Maykel:

Usei o código que vc postol, fiz o seguinte: coloquei o código na minha index.php e criei a página principal.php que preencherá o meio da index.php, mas estou com um pequeno problema, na minha index existe uma pequena animação em flash e na principal também. Quando eu rodo a páginal (localhost) aparece somente a animação da index.php a que está na principal não aparece. Se eu retirar a animação que está na index dai sim aparece a animação da principal. Você poderia me ajudar nessa?

Muito obrigado!!!

#11 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 24/05/2009, 11:58

Olá...
Como está começando, e vai adaptar seu site agora, aconselho utilizar URL Amigáveis.
A indexação no google é melhor.

http://www.google.co...lient=firefox-a

Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#12 fabianocrz

fabianocrz

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 24/05/2009, 17:24

Olá...
Como está começando, e vai adaptar seu site agora, aconselho utilizar URL Amigáveis.
A indexação no google é melhor.

http://www.google.co...lient=firefox-a

Até mais ^_^


Caro Dudo:

Você não sabe da maior, coloquei a página index.php e a principal.php on-line (no servidor do Terra) e para minha surpresa a principal que contem uma animação em flash que não aparece quando rodada localmente (localhost) funcionou normalmente. Não entendi porque não funciona localmente, pois uso o Windows Vista e o EasyPHP.

O estranho que se eu tirar a animação da página index.php e deixar a animação da pagina principal.php daí a animação da página principal aparece, mas se eu deixar as duas animações daí só aparece a que está na página index.php

Como eu disse, usei o código do amigo Maykel que funciona perfeitamente, coloquei o código que ele postou na minha index.php e criei uma outra pagina que preencherá o meio da index.php com o nome principal.php Se eu colocar uma imagem tipo jpg ou png quando vou no Mozilla ou no IE e digito localhost, tanto a index quanto a principal funcionam sem problema, o negócio só fica louco quando uso um arquivo swf na index e um outro arquivo swf na principal, mas que on-line funciona normalmente. Um detalhe curioso é que se eu tirar a animação que está na index daí aparece a animação que está na principal.php.

Porque será que isso ocorre?

Mais uma vez muito obrigad oe forte abraço!!!

#13 umarizal

umarizal

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP - Brasil
  • Interesses:Programação para web, Webdesign, PHP, Banco de Dados SQL, etc.

Posted 25/08/2009, 11:21

O nome disso é query string.

Monte seu layout, e no centro da index, onde vc quer que seja exibido o conteúdo, você coloca este código:

<?php 				$pagina= isset($_GET['pagina']) ? $_GET['pagina'] : ".";				$inc = file_exists($pagina.".php") ? $pagina.".php" : "inicial.php";				include_once ($inc);            ?>

Desta forma, os links serão constituidos por ex: index.php?pagina=nomedasecao...

este "nomedasecao" será um arquivo .php (nomedasecao.php) e conterá os conteúdos relativos a aquela seção.

Qualquer dúvida manda aí!


Teria como eu armazenar este conteúdo em outro arquivo, fora do "index.php"?

Outra coisa, tem como eu personalizar itens do <head> para cada seção como título, metatags, descrição, etc?

um jeito que gosto de utilizar para sites pequenos é o switch:

<?php $pagina = $_GET['pagina']; ?>
			   <?php switch ($pagina){
	 case "Busca": //se o valor da variavel pagina for igual a busca
		 include ("busca.php"); //inclua busca.php
		 break; //Pare o script
	 case "noticias":  //se o valor da variavel pagina for igual a noticias
	 default: //ou se for algo que não esteja na chave
	 include ("noticias.php"); //inclua noticias.php
	 break; //Pare o script
		   } ?>
Para cada pagina do site você usa um case.
Agora se for um site grande, recomendo usar o file_exists citado acima (y)


Interessante... mais uma alternativa né... obrigado.

Estou usando no momento, como base, o script "redir" acho que é este o nome... e está funcionando.

Edição feita por: umarizal, 25/08/2009, 11:21.





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq