Jump to content


Photo

Querystring Diferente


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

#1 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 17/07/2004, 14:14

Salve galera!!

<?php
#======================================
#  Tutorial simples - por: felipensp
#================ Deus seja louvado!===

// Com esse sistema os links ficam assim:
// http://www.meusite.com/?Secao

#'-> pega a url no navegador, o que vier depois do ?
$query = $QUERY_STRING;

#'-> case'S
$l=0; //verificador
$ext="php"; //extensão dos arquivos

switch($query){
case "oop": $url = "oop.".$ext; $l++; break;
case "lpv": $url = "lpv.".$ext; $l++; break;
}

#'-> vamos ver se a query foi setada
echo ($l==0) ? "Query inválida!": "";

?>


Aonde irá aparecer as páginas da querystring você coloca o código abaixo:

<?php
if(isset($url)){ include($url); } else { include("principal.php"); }
?>


Vou explicar melhor...
Num estilo tradicional de um site, é usado muito a abertura de links no meio do site, ou seja, clicou aparece o site todo denovo com o conteúdo do link no meio, Certo!?
Veja na figura anexa para entender.

Então nessa parte do meio aonde aparecerá os conteúdos dos links clicados no site você coloca esse último código que eu passei. Entendeu? coloca apenas esse código na tabela do meio do site, e o conteúdo do site que irá aparecerá inicialmente (assim que acessarem ou sem ter clicados em algum link) você coloca num arquivo principal.php que foi declarado no código.

O primeiro código você coloca no inicio dos códigos do seu site, ou seja, antes dos códigos de HTML. (dê preferência).

Attached Files

  • Attached File  img.gif   1.59KB   7 downloads

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#2 uebas

uebas

    Turista

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

Posted 17/07/2004, 15:16

Funciona com endereço completo?

ex:

se eu quiser abrir uma página de um parceiro , el vai abrir?

#3 ThalesWeb

ThalesWeb

    Veterano

  • Usuários
  • 1435 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 17/07/2004, 15:25

Você quer abrir a página de um parceiro no meio do site?
Thales Santos

#4 uebas

uebas

    Turista

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

Posted 17/07/2004, 15:27

uso outra query string
essa que ele disse ae nao consegui fazer funfar

#5 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 17/07/2004, 15:29

Ficaria assim...
exemplo da url (http://www.meusite.com.br/?wmonline

$m=0;
switch($query){
case "wmonline": $url = "http://www.wmonline.com.br/"; $m++; break;
}
if($m!=0){  echo'<meta http-equiv="refresh" content="0;url='.$url.'">'; }


(y)
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#6 uebas

uebas

    Turista

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

Posted 17/07/2004, 15:31

viu

explica melhor entao como faz pra fazer entao
:(

#7 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 17/07/2004, 15:46

viu

explica melhor entao como faz pra fazer entao
:(

Amigo,
tá muito bem explicado o sistema, que parte você não está entendendo!?
Mostra como você está fazendo para eu lhe informar corretamente...

(y)
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#8 Towd

Towd
  • Visitantes

Posted 17/07/2004, 16:03

o mesmo jeito de fazer só que abrindo os arquivos diretamente

<?
$erro="404.html";
$ext=".php";
$home="home.php";
$query=$_SERVER[QUERY_STRING];

if (!empty($query) { // verifica se a query não está vazia

if (eregi("[.]",$query)) {  include $erro; } // Se tiver algum "." na query retorna o erro

elseif(!file_exists($query.$ext) { include $erro; } //Se o arquivo da query não existir tb retorna um erro.

else { include $query.$ext; } //Senão inclui o arquivo
} //fecha o laço de verificação se a query ta vazia
else { include $home;  //query vazia inclui a home }
?>


#9 Lord Spy

Lord Spy

    Normal

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

Posted 21/08/2004, 17:33

Ola galera!!

gostaria de saber se esse sisteminha de query string está protegido contrra invasão, vide tópico a seguir:

http://forum.wmonlin...topic=80596&hl=

e como faria para fazer uma subcategoria?
do tipo www.site.com.br/?fotos&categoria=setembro por exemplo??

qual vcs acham melhor, eu tava achando q a query string do tipo http://www.meusite.com/?secao=noticias era melhor, mais convncional...

se alguem souber algum topico aqui no forum q aborde esse assunto e ensine fazer desse jeito tb.. eu agradeço mto!!

valeuuuu

#10 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 21/08/2004, 17:38

Para fazer do outro jeito é só fazer uma busca que tem milhares de tópicos explicando... ;)
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#11 Lord Spy

Lord Spy

    Normal

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

Posted 21/08/2004, 17:55

Para fazer do outro jeito é só fazer uma busca que tem milhares de tópicos explicando... ;)

felipe, e como funcionaria o esquema de subcategorias NESSA que vc montou? pq naum entendi direito esse codigo, achei um poko complicado comparado com o outro ) pq sou leigo em php ainda)

se puder me excplicar agradeceria
valeu :D

editado
só pra me ajudar, por acusao o link do tipo www.meusite.com.br/?secao=fotos

ficaria asssim
<?php
if ($secao==""){
include("centro.php"); 
} else {
if(file_exists($secao.".php")){
include($secao); 
} else { echo 'Arquivo da seção '.$secao.' inválido!'; }
}
?>
ou nao :(
e como "encaixo subcat ai tb?

Edição feita por: Lord Spy, 21/08/2004, 18:24.


#12 k9studio

k9studio

    k9studio

  • Usuários
  • 291 posts
  • Sexo:Masculino
  • Interesses:php, mysql, asp

Posted 16/01/2005, 15:58

estou aqui denovo porque nao consegui fazer ainda...

como que eu acesso 3 paginas
com essa query

meusite.com.br/?secao

sem mudar la no brawser

digamos

meusite.com.br/?secao
*acessar a pagina de cadastro

meusite.com.br/?secao
*acessar a pagina de confirmar dados

meusite.com.br/?secao
*acessar a pagina de finalizar

nao consegui fazer podem me dar uma luz...

#13 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 16/01/2005, 23:41

Ae galera...
Modifiquei para aceitar ?secao&subsecao !

PHP
<?php
$query
= $QUERY_STRING;
$ext="php"; //extensão dos arquivos

//Vendo se é apenas ?secao
if ( ($query!=null) and (!ereg("&", $query)) ) {

 
$secao = $query;
 switch (
$secao) {
case
"orkut": $url = "orkut.".$ext; break;
 }

} else {

 
//Pegando a subsecao de ?secao&subsecao
$onde = strpos($query, "&");
$subsecao = substr($query, - (strlen($query)-$onde-1) );

switch (
$subsecao) {
 case
"top10": $url = "top10.".$ext; break;
}

}

if (isset(
$url)) include($url);

?>


No código ae eu fiz com exemplo de url: ?orkut&top10

[]'s
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#14 k9studio

k9studio

    k9studio

  • Usuários
  • 291 posts
  • Sexo:Masculino
  • Interesses:php, mysql, asp

Posted 16/01/2005, 23:58

Ae galera...
Modifiquei para aceitar ?secao&subsecao !

PHP
<?php
$query
= $QUERY_STRING;
$ext="php"; //extensão dos arquivos

//Vendo se é apenas ?secao
if ( ($query!=null) and (!ereg("&", $query)) ) {

   $secao = $query;
   switch ($secao) {
      case "orkut": $url = "orkut.".$ext; break;
   }

} else {

   //Pegando a subsecao de ?secao&subsecao
      $onde = strpos($query, "&");
      $subsecao = substr($query, - (strlen($query)-$onde-1) );

      switch ($subsecao) {
         case "top10": $url = "top10.".$ext; break;
      }

}

if (isset(
$url)) include($url);

?>


No código ae eu fiz com exemplo de url: ?orkut&top10

[]'s

Blz,

so mais uma coisinha...

como coloco para quando digitar um query que nao existe
pegar um pagina de erro...

blz mesmo.

#15 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 17/01/2005, 00:04

No final troca:

if (isset($url)) include($url);
elseif ((isset($query)) and (empty($url))) include("erro.php");
else include("pagina que aparece quando não tem query");


Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29




1 user(s) are reading this topic

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

IPB Skin By Virteq