Jump to content


Photo

[resolvido] Duvidas Sobre Query String / Paginação


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

#1 FelipeG.E.

FelipeG.E.

    Novato no fórum

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

Posted 22/06/2007, 19:05

Opa pessoal do WM!
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 lwirkk

lwirkk

    Veterano

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

Posted 26/06/2007, 00:07

Este (QUERY STRING) eu achei a algum tempo atrás e é o mais simples e fácil para quem está iniciando ou não se lembra muito como usar.
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.

Posted Image
"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 SorcererDD

SorcererDD

    Normal

  • Usuários
  • 101 posts
  • Sexo:Masculino

Posted 19/08/2007, 09:24

Tenho um mais simplezinho...

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 TTC_VeNdEdOr

TTC_VeNdEdOr

    Curioso

  • Usuários
  • 433 posts
  • Sexo:Masculino
  • Localidade:João Pessoa - PB

Posted 15/01/2008, 13:35

cara, eu acredito que tenha feito tudo correto, mas nao ta puxando o conteudo do home.php

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 III - www.ageofempires3.com.br
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 ciclone

ciclone

    Novato no fórum

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

Posted 15/01/2008, 15:18

A página que o google tem que encontrar é ?pag=downloads.php, você
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 TTC_VeNdEdOr

TTC_VeNdEdOr

    Curioso

  • Usuários
  • 433 posts
  • Sexo:Masculino
  • Localidade:João Pessoa - PB

Posted 15/01/2008, 15:29

q robozim safadenho!

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 III - www.ageofempires3.com.br
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 ciclone

ciclone

    Novato no fórum

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

Posted 15/01/2008, 16:09

inclua a o código abaixo no início do script e veja se funciona

[codebox]if(isset($_GET['pag'])){
$pag = $_GET['pag'];
}[/codebox]

#8 TTC_VeNdEdOr

TTC_VeNdEdOr

    Curioso

  • Usuários
  • 433 posts
  • Sexo:Masculino
  • Localidade:João Pessoa - PB

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 III - www.ageofempires3.com.br
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 Maykel Esser

Maykel Esser

    Super Veterano

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

Posted 15/01/2008, 16:28

dá algum erro? a home.php tá no mesmo diretorio da index?

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


#10 TTC_VeNdEdOr

TTC_VeNdEdOr

    Curioso

  • Usuários
  • 433 posts
  • Sexo:Masculino
  • Localidade:João Pessoa - PB

Posted 15/01/2008, 16:31

o home.php esta na pasta "paginas"

mas agora coloquei ele na mesma pasta da index.php e nao deu tambem :/
Age of Empires III - www.ageofempires3.com.br
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 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 15/01/2008, 16:37

insira as aspas no else if:
$pag == ("index" or "home" or "")
vlw ^_^

Edição feita por: § Kenshin §, 15/01/2008, 16:39.

Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#12 ciclone

ciclone

    Novato no fórum

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

Posted 15/01/2008, 16:47

Mostre o erro que aparece, não tem nada errado no script, deve ser suas pastas

teste se os arquivos estão na pasta certa..

<?
include($_SERVER['DOCUMENT_ROOT'].'/age3/paginas/home.php');
?>

#13 TTC_VeNdEdOr

TTC_VeNdEdOr

    Curioso

  • Usuários
  • 433 posts
  • Sexo:Masculino
  • Localidade:João Pessoa - PB

Posted 15/01/2008, 19:29

to editando aqui pq fiz umas modificacoes e esse post nao eh mais necessario da forma que estava...

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 III - www.ageofempires3.com.br
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 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 15/01/2008, 19:51

substitua:
$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 ^_^
Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#15 TTC_VeNdEdOr

TTC_VeNdEdOr

    Curioso

  • Usuários
  • 433 posts
  • Sexo:Masculino
  • Localidade:João Pessoa - PB

Posted 15/01/2008, 23:15

bom pessoal, brigadao a força ae!


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 :D

:boxing:

Edição feita por: TTC_VeNdEdOr, 16/01/2008, 10:02.

Age of Empires III - www.ageofempires3.com.br
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)

IPB Skin By Virteq