[resolvido] Duvidas Sobre Query String / Paginação
#1
Posted 22/06/2007, 19:05
Bom, vou direto ao assunto;
Estou procurando hoje o dia todo no google, foruns relacionados, tutoriais e nao achei nada do que procurava.
Minha duvida/pergunta é:
Como fazer uma simples "paginação" usando php?
Tenho um Layout que é meu index.php. nele possuo meu menu e minha tabela de conteudo, onde quero deixar como "default" minha pagina de noticias (news.php)
E nesta parte onde ficariam as notícias, gostaria que aparecesse os meu outros links; contato (?sec=contato) ; fotos (?sec=fotos) etc.
Tentei milhares de query strings, nenhuma deu certo, ou são complicadas d+ ou nao se encaixam no meu problema.
Lembro que eu usava isso a uns 3~4anos atraz e era facim facim, hoje está td mto cheio de coisa.
Gostaria de uma ajuda. Obrigado!
#2
Posted 26/06/2007, 00:07
CRÉDITOS À... tem o nome da pessoa que o fez ai no código eu acho.
-----------------------------------------------------------------------------------------------------
Existem vários sistemas deste tipo, criados por diversos autores.Eu selecionei este pra postar aqui porque acho que é o mais seguro e confiável e tem a credibilidade da Comunidade Webmaster.com.Trata-se de um script que faz com que você posso agilizar a atualização do template do seu site usando a função "include" do PHP.Vamos ao Código:CODE<?##################################### CW Scripts - CW Paginação ## Autor: Gustavo Paes ## [url="http://www.comunidadewebmaster.com"]http://www.comunidadewebmaster.com[/url] ############################################################## Modo de usar #########################// Basta você modificar as linhas abaixo.// Salve uma página *.php e depois digite:// [url="http://www.seusite.com.br/?pag=NOME_DA_PAGINA"]http://www.seusite.com.br/?pag=NOME_DA_PAGINA[/url]// Nome da pasta onde ficarão as páginas .php (sem barra no final)$paginas="paginas";// Arquivo da página inicial$inicio="home.php";// Arquivo de erro$erro="erro.php";######################### Não Edite Abaixo #########################if(file_exists("$paginas/$pag.php")){include("$paginas/$pag.php");}else if($pag == index || $pag == home || $pag == ''){include("$paginas/$inicio");}else{include("$paginas/$erro");}######################### Não Edite Acima #########################?>
Agora a explicação:
» Inserindo o código:
Você cria o layout do seu site normalmente, com menu, rodapé e a parte central onde ficará o conteúdo. Sugiro de você coloque a parte central do conteúdo, dentro de uma tabela.
Agora você dividirá o layout em duas partes. Recorte a tabela do meio onde está o conteúdo do seu site deixando só o menu, topo e rodapé com o espaço do conteúdo livre.
Cole a tabela do conteúdo no bloco de notas. Crie uma pasta e dê o nome de "paginas" a ela.
Salve a tabela que você acabou de colar no bloco de notas como "home.php".
Na parte vazia do seu layout (a parte do conteúdo de onde vc recortou a tabela) cole o script da Comunidade Webmaster.
Agora basta você salvar este arquivo como index.php. O script se encarregará de incluir o arquivo "home.php" da pasta "paginas" pra dentro do seu layout.
Salve uma cópia do layout como, por exemplo, layout.php, pra você editar nele as páginas internas.
Depois é só proceder da mesma forma com as páginas internas do seu site. Digamos que você quer colocar mais uma seção, Contato por exemplo. Então, edite a página com o formulário de contato normalmente dentro do layout, recorte a tabela, cole no bloco de notas e salve como "contato.php" dentro da pasta "paginas".
» Setando os links:
Agora basta voc~e setar os links pro script chamar os arquivos, da pasta "paginas" pra dentro do seu layout. Pra isso basta colocar a query string no link assim:
http://www.seusite.c...ag=nomedapagina
Onde: nomedapagina é o nome do arquivo php de dentro da pasta páginas que corresponde à seção para qual aponta o link.
Prontinho! Agora toda vez que você precisar inserir um ítem no menu, alterar imagens do topo ou do rodapé do seu site, bastará mudar um único arquivo que todo o site ficará atualizado!
Bom né?
Congratulações à Comunidade WEbmaster e ao Gustavo Paes pelo ótimo sistema desenvolvido.
Visite a Comunidade Webmaster:
Clique aqui!!!
Abraços,
-----------------------------------------------------------------------------------------------------
Edição feita por: savior, 20/08/2007, 00:17.
por favor utilize tags [codebox] para códigos longos.
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."
Muito Obrigado à todos do fórum, e à toda equipe do fórum!
#3
Posted 19/08/2007, 09:24
Há duas formas:
links.php (Onde links.php só tem este código de query string)
<?php if($_GET['sec'] == "inicio") {require "http://www.olinkdoseusite.com/index.php";} elseif($_GET['sec'] == "fotos") {require "pages/fotos.php";} elseif($_GET['sec'] == "contato") {require "pages/contato.php";} ?>
Irá ficar: links.php?sec=inicio; links.php?sec=fotos; links.php?sec=contato..
index.php (Onde index.php tem este código de query string e abaixo tem sua página inicial)
<?php if($_GET['sec'] == "inicio") {require "http://www.olinkdoseusite.com/index.php";} elseif($_GET['sec'] == "fotos") {require "pages/fotos.php";} elseif($_GET['sec'] == "contato") {require "pages/contato.php";} ?> <html> <html> <head> <title>Título</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> </body> </html> <? } ?>
Este já fica: index.php?sec=inicio; index.php?sec=fotos; index.php?sec=contato..
Viu a diferença? No index.php você precisa botar "<? } ?>" embaixo de todo o código para que não dê conflito.
Grato.
Edição feita por: SorcererDD, 19/08/2007, 09:25.
#4
Posted 15/01/2008, 13:35
to usando aki o wamp pra ver como ta ficando antes de por online
dentro do www do wamp coloquei a pasta "age3"
dentro dessa pasta tem outra pasta: "paginas"
e tbm tem o index.php dentro dessa pasta "age3"
dentro da pasta "paginas" coloquei o "home.php"
mas nao puxa nada :/
quando acesso: http://localhost/age3/?pag=index.php
aparece o layout bonitinho e tal, mas sem a tabela de conteudo
fiz algo errado?
-----
outra coisa, e em relaçao ao google? ta la a pagina "downloads.php" dentro da pasta "paginas" o google vai achar www.meusite.com.br/paginas/downloads.php
quando o visitante entrar? vai aparecer so a tabela ou ja vai vir com o layout?
oO
Edição feita por: TTC_VeNdEdOr, 15/01/2008, 13:40.
Age of Empires II - www.ageofempires2.com.br
NÃO RECOMENDO: Levei calote da hospedagem BRWebs, assim que paguei cancelaram e não devolveram :/
#5
Posted 15/01/2008, 15:18
deve bloquear o acesso ao diretório /páginas/ usando um robots.txt, ou htaccess,
caso contrário o google vai encontrar os includes e indexar.
#6
Posted 15/01/2008, 15:29
entao posso fazer meu site normalmente que nao vou ter problemas com o google, so vou ter que ajustar o robots nao eh isso?
agora so falta eu fazer o eskema do 2º post dar certo
Edição feita por: TTC_VeNdEdOr, 15/01/2008, 15:30.
Age of Empires II - www.ageofempires2.com.br
NÃO RECOMENDO: Levei calote da hospedagem BRWebs, assim que paguei cancelaram e não devolveram :/
#7
Posted 15/01/2008, 16:09
[codebox]if(isset($_GET['pag'])){
$pag = $_GET['pag'];
}[/codebox]
#8
Posted 15/01/2008, 16:21
<?
if(isset($_GET['pag'])){
$pag = $_GET['pag'];
}
// Basta você modificar as linhas abaixo.
// Salve uma página *.php e depois digite:
// http://www.seusite.c...=NOME_DA_PAGINA
// Nome da pasta onde ficarão as páginas .php (sem barra no final)
$paginas="paginas";
// Arquivo da página inicial
$inicio="home.php";
// Arquivo de erro
$erro="erro.php";
if(file_exists("$paginas/$pag.php")){
include("$paginas/$pag.php");
}
else if($pag == index || $pag == home || $pag == ''){
include("$paginas/$inicio");
}
else{
include("$paginas/$erro");
}
?>
ainda nao deu :~
Age of Empires II - www.ageofempires2.com.br
NÃO RECOMENDO: Levei calote da hospedagem BRWebs, assim que paguei cancelaram e não devolveram :/
#9
Posted 15/01/2008, 16:28
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#10
Posted 15/01/2008, 16:31
mas agora coloquei ele na mesma pasta da index.php e nao deu tambem :/
Age of Empires II - www.ageofempires2.com.br
NÃO RECOMENDO: Levei calote da hospedagem BRWebs, assim que paguei cancelaram e não devolveram :/
#11
Posted 15/01/2008, 16:37
$pag == ("index" or "home" or "")vlw
Edição feita por: § Kenshin §, 15/01/2008, 16:39.
"Living to learn... learning to live!"
Useful links: Rules | Search
#12
Posted 15/01/2008, 16:47
teste se os arquivos estão na pasta certa..
<?
include($_SERVER['DOCUMENT_ROOT'].'/age3/paginas/home.php');
?>
#13
Posted 15/01/2008, 19:29
o erro agora é:
Warning: include(paginas/erro.php) [function.include]: failed to open stream: No such file or directory in C:\Ronny\wamp\www\age3\index.php on line 202
Warning: include() [function.include]: Failed opening 'paginas/erro.php' for inclusion (include_path='.;C:\php5\pear') in C:\Ronny\wamp\www\age3\index.php on line 202
lol
desculpem mesmo, realmente o script tava certo, eu so nao sabia que precisava criar a pagina erro.php
xD
se eu puder compensar o tempinho perdido de alguma forma, talvez ensinando a jogar age of empires ^^
agora vou testar colocar outras paginas e links...
^^
agora quando eu insiro um link, ele nao vai pra ele, volta pra a pagina home.php
://
Edição feita por: TTC_VeNdEdOr, 15/01/2008, 17:02.
Age of Empires II - www.ageofempires2.com.br
NÃO RECOMENDO: Levei calote da hospedagem BRWebs, assim que paguei cancelaram e não devolveram :/
#14
Posted 15/01/2008, 19:51
$pag == ("index" or "home" or "")por:
$pag == "index" or $pag == "home" or $pag == ""
e certifique se de que as paginas que esta tentando abrir estao realmente na pasta paginas e com o nome correto.
vlw
- TTC_VeNdEdOr likes this
"Living to learn... learning to live!"
Useful links: Rules | Search
#15
Posted 15/01/2008, 23:15
agora vou em buscar de saber a questao dos robos do google, pra ele nao axar minha "pagina.php" e sim "index.php?act=pagina"
vlwzao ae
Edição feita por: TTC_VeNdEdOr, 16/01/2008, 10:02.
Age of Empires II - www.ageofempires2.com.br
NÃO RECOMENDO: Levei calote da hospedagem BRWebs, assim que paguei cancelaram e não devolveram :/
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)