Jump to content


Photo

Query String Secao/sub


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

#1 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 09/03/2005, 10:17

Eu desenvolvi esse script para o meu site e acho interessante dividir com o pessoal do fórum, aliás, já está saturado de tutoriais relacionados ao assunto mas esse é um pouco diferente, ele suporta seção e subseção e os links ficam assim:


www.meu_site.com.br/?secao
ou
www.meu_site.com.br/?secao;subsecao

sendo que no segundo a secao define a pasta a abrir e subsecao o arquivo.

olha o código:

<?php

$query = $QUERY_STRING;

//defina as variáveis de acordo com seu site, ext= extensao dos arquivos
$ext = ".php";
$home = "home.php";
$erro = "erro.php";


//verifica se a query não está vazia (!=null)
// o sinal "!" significa diferente
//o comando eregi procura pelo caracter ";" na query
// depois ele explode a string e separa a secao da sub caso tenha o caracter

if ($query!=null) {
  if (eregi(";", $query)) {
      $separa = explode(";", $query);
      $secao = $separa[0];
  $sub= $separa[1];
  } else {
      $secao = $query;
  }
}

//aqui o isset verifica se a subsecao foi passada, se ela tiver valor segue o if
//e verifica se o arquivo existe, repare nos "." concatenando as variáveis
//se o arquivo nao existir ele inclui a pagina de erro

if ( (isset($sub)) ) {
if ( file_exists($secao."/".$sub.$ext)) {
  include_once ($secao."/".$sub.$ext);
}
else {include_once ($erro);}
}

//se a subseçao nao foi passada ele executa este passo, e verifica a existencia
// arquivo no servidor para incluir, caso contrario coloca a pagina de erro
// é igual a verificação anterior com a diferença que se a variavel secao não
// foi passada (nao definiu nada depois da ? no endereço) ele inclui a home


else {
if ( (isset($secao)) ) {
  if (file_exists($secao.$ext)) {
  include_once ($secao.$ext);
  }
  else {include_once ($erro);}
  }
else {include_once ($home);}
  }

?>


É muito fácil de entender e mais fácil ainda de usar, qualquer dúvida postem ae, e é muito importante dar uma olhada no manual do PHP pra entender as funções que são novas para quem ta começando, vai abrir a cabeça pra muito outros códigos.

Abraços (y)
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 09/03/2005, 10:19

Se alguém testar e não funcionar, troque:

$query = $QUERY_STRING;


Por:

$query = $_SERVER["QUERY_STRING"];


Klaus Paiva
Conheça também: Taperás

#3 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 09/03/2005, 11:38

Ae Klaus, eu sabia que tinha alguma coisa assim sobre a versão do PHP, mas não sei o nome disso, são as variáveis globais ??? Onde eu acho referencia sobre esse tema pra estudar ??

Se colocar no começo do script esse código resolve ??

ini_set (”register_globals”, “On”);


WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#4 Alexandre Silva

Alexandre Silva

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado
  • Localidade:Linhares/ES
  • Interesses:WEB

Posted 15/06/2005, 16:53

Olá, estou tentando aprender a fazer assim:


index.php?secao=NOMEDAPAGINA&sub=NOMEDASUBPAGINA...



alguem pode me ajudar????????????????

desdeja agradecido... (y) (y) (y) (y)

#5 Inu_yasha

Inu_yasha

    www.inuforum.cjb.net

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

Posted 15/06/2005, 21:37

isso e so procurar alexandre... tem UM BILHAO de topicos disso nessa mesma seção <_<




1 user(s) are reading this topic

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

IPB Skin By Virteq