Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Salve, salve, galera!!!
Quero compartilhar com os brothers mais um topico de querystring!...De novo??? Vcs devem esta se perguntando.... bom, a questão é q vejo ainda muuuuuita gente com duvidas...eu era uma delas...então o material q vos apresento é para contribuir, beleza.
Bom vamos ao q interessa.
Esta query “terá seção e subseção”.
1. Seção
Seus links ficarao assim: www.seusite.com.br/pagina.php?categoria=cds
2. Subseção
Seus links ficarao assim: www.seusite.com.br/pagina.php?categoria=cds⊂=rock
OBS: Este exemplo mostra as subseções dentro de pastas.
Ex:Uma pasta com o nome de CDS e dentro dela a pagina chamada rock.php, sacaram!?!?
O desenvolvimento:
1º- Crie um arquivo com o nome de pagina (ficara assim: pagina.php)
Abra o editor (dreamweaver, php desinger, etc...) e eis os codigos:
<?php@$categoria = $_REQUEST['categoria']; @$sub = $_REQUEST['sub'];?><?phpif ($categoria == "cds" && !$sub) {$pagina = "cds.php"; }// ate aqui você criou a secao do seu siteelseif ($categoria == "cds" && $sub == "rock") {$pagina = "cds/rock.php"; }// agora você acabou de criar a subsecao do seu site?><?if( (isset($pagina)) and (file_exists($pagina)) ) {include($pagina);} else {include ("erro.php");}// issu q foi criado agora e uma pagina de erro, pra quando naum existir a pagina solicitada?>bom agora salve esse aquivo (pagina.php).
2º- Crie sua index.php
Dentro da mesma faça este link para a seção:
<a href="pagina.php?categoria=cds">Cds</a>
Até aqui beleza...agora salve sua index.php
3º- Crie sua pagina cds.php
Dentro da mesma faça este link para subseção:
<a href="pagina.php?categoria=cds⊂=rock">Estilo Rock</a>
Salve seu aquivo cds.php
4º- Crie uma pasta com o nome de cds e dentro dela crie um arquivo chamado rock.php
Coloque qualquer texto nesta pagina, é so pra gente testar mesmo.
Salve seu arquivo rock.php.
5º- Vamos criar a pagina de erro.php
Aqui crie esta pagina e coloque algo do tipo : Pagina não encontrada, volte para a home!
Salve sua pagina erro.php (não coloque este arquivo dentro da pasta cds!!)
Agora é so testar sua querystring.
Há, lembrando q você pode criar varias secoes e subsecoes
Basta incluir os codigos dentro de pagina.php
Para as secoes você crie este codigo:
ficara logo abaixo da secao cds e assim sucessivamente
elseif ($categoria == "entrevistas" && !$sub) {
$pagina = "entrevistas.php";
}
Para as subsecoes ficara assim:
ficara abaixo da primeira subsecao
elseif ($categoria == "entrevistas" && $sub == "cpm22") {
$pagina = "entrevistas/cpm22.php";
}
Só pra concluir, digamos que neste exemplo eu criei uma subsecao de entrevistas e q o entrevistado era o CPM22, e se eu tivesse outros entrevistados como ficaria?...simples:
elseif ($categoria == "entrevistas" && $sub == "roberto_carlos") {$pagina = "entrevistas/ roberto_carlos.php"; }elseif ($categoria == "entrevistas" && $sub == "belo") {$pagina = "entrevistas/belo.php"; }elseif ($categoria == "entrevistas" && $sub == "eu_mesmo") {$pagina = "entrevistas/eu_mesmo.php"; }Sacaram?!?....lembrando que, entrevistas/ é a pasta onde ficara todos os seus entrevistados.E caso naum queirao sub secoes é só ignorar a essa parte e aproveitar o restante da query, beleza.
Só mais uma observação, $categoria, $sub, pagina, etc.. são exemplos que eu criei, vcs podem criar os seus...agora sim acabei....
Fui.... ^_^
beleza Ta funcionando legal...aqui
Parabens pelo tutorial creio que vai melhorar muito o desenvolvimento. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
Ai cara....soh com uma duvida meio besta ...tipo ia ficar tipo index.php=categoria=pagina,para ficar index.php=page=pagina eh soh trocar o categoria ali em cima por page certo?
Fala galera eu faria a querystring de outra forma.. Vamos supor que estamos usando o codigo do nosso amigo ai weslleysolo. Bem legal ta funfando.. mais vamos dizer que você quer criar mais uma sessão em seu site... o que você teria que fazer? não teria que editar novamente o index.php para acrecentar mais um "elseif" com o include do arquivo? condorda que isso não é viavel para sites grandes?
Então aqui vai uma dica que o fabyo me encino eu eu repasso para frente...e um metodo muito bom e tbm economiza muito o codigo fazendo assim o processamento de dados serem mais rapido.. vamos lá
Antes de mais nada eu vou criar um metodo para pegar as GETS e tranformalas em Variaveis.. assim tbm não vou precisar ficar escrevendo em meu codigo algo como:
$sub = $_POST["sub"]; $categoria = $_POST["categoria"];
Imagina que você tenha mais de 50 para fazer? o que você iria me dizer? seria um #@?$%~ trabalho não? então vamos tbm criar com o php para que ele já faça isso automaticamente lembre você tem o php com ele você pode fazer quase tudo.. então vamos simplificar o bixinho...aprendi tbm com o fabão esse é o kra ^^
foreach($_GET as $chave => $valor){$$chave = $valor;}
Esse metodo vai pegar a matriz do GET tudo que ele encontrar como GET ele vai transfoma a sua chave em variavel e agregar o seu valor a ela.
Como criar uma variavel via PHP é simples.. aqui mesmo no forum já vi verios topicos relacionado a isso e aqui vai mais 1
Para você criar uma variavel via PHP é só acrecentar o $ antes da variavel que contem o nome que você quer ex:
$var = "nome";$$var = "Erick";echo $nome
Viu então criamos nossa variavel nome ^^ show né?
Então é o que eu estou fazendo logo ali em cima para com o "foreach"... depois eu crio uma materia para explicar melhor o foreach ok?.
Bem ja temos nosso cria var agora vamos para como trabalhar com querystring.
Antes de mais nada vamos ver uma aqui
http://www.seusite.com.br/?se=valor
Bem ali o "se" ela vai amazernar o nome de um arquivo que será nossa sessão então imagina a seguinte estrutura de pastas do seu servidor
--|root---|index.php---|files----|home.php----|links.php
está vendo que dentro da pasta files eu tenho 2 aquivos? home e links? então você colocar na sua query string o seguinte
http://www.seusite.com.br/?se=homeouhttp://www.seusite.com.br/?se=links.. e assim por diante.
Então todo o conteudo do home vai está dentro desse aquivo home o mesmo para o links e assim por diante..
Então o que temos que fazer temos que incluir esses arquivos dentro de nossa index no determinado local certo? então vamos criar o script que faça isso
foreach($_GET as $chave => $valor){$$chave = $valor;}if(file_exists("files/{$se}.php")){ require("files/{$se}.php");}else{ require("files/home.php");}
bem se viram que eu estou verificando se o arquivo existe dentro da quela pasta informando via querystring? e se ele achar ele coloca ele na tela se não el echama o home para não mostrar tela de erro para o fulano..
Certo ta ai agora você não precisa mais ficar mudando no index acrescentando elseif atraz de elseifs ^^ é so jogar o arquivo da sessão lá dentro da pasta e criar o link para a sessão em seu menu ^^ simples não?
Flw..
É o Exemplo do Erick fica mais pratico e funcional.
só uma dica para o weslleysolo
aqui ele fez isso:
@$categoria = $_REQUEST['categoria'];
@$sub = $_REQUEST['sub'];
e usou o @ para esconder o erro caso nao exista as variaveis, mas prefira usar isset() veja um exemplo que nunca vai dar erros:
$categoria = isset($_REQUEST['categoria']) ? $_REQUEST['categoria'] : "";
$sub = isset($_REQUEST['sub']) ? $_REQUEST['sub'] : "";Aee, valeuz pelo tuto, estava precisando e funcionou direitinho aqui!!Valeuzzz
opa...valeu pela dica Fabyo...
Ai amigos eu sou meio noob mais tipo eu coloco as paginas q eu vou fzr na querystring em somente uma pasta ou tem q fzr uma pasta para cada seção?
não seise é coveniente usar include
<?phpinclude "files/" . $valor . ".php"?>
ai sua pagina fica assim: www.seusite.com.br/?valor=suapagina
Como fazer uma query string mais que não apareça na URL ?
Breve vou fazer outro tuto sobre o mesmo assunto porem bem mais fácil, seguindo a ideia do amigo Lion :)
E para fazer uma subcategoria no exemplo do perfect lion?
weslleysolo
Já fez o tuto?!
sim...olha nessa secao. ^_^ e esta como o lion mostrou, so q mais detalhado, com exemplo e com subsecao.
como eu arumo pra mudar so no meio da pagina?alguem sabe?obrigado :D
http://forum.imasters.com.br/index.php?showtopic=203110
como eu arumo pra mudar so no meio da pagina?
olha o link acima, meu. ^_^
query string então e usado para acessar certo conteúdo dentro de uma pasta? POderia ser cadastro coisas dentro de um banco de dados?
função queryString();
class ClasseGlobal {
public final function queryString() {
$sessao = $_GET['sessao'];
switch($sessao) {
case "pg1": {$pg = "pg1.php";break;}
case "pg2": {$pg = "pg2.php";break;}
case "pg3": {$pg = "pg3.php";break;}
default: {$pg = "erro.php";break;}
}
if(file_exists($pg)) {
return $pg;
exit();
} else {
return "erro.php";
exit();
}
}ClasseGlobal::queryString();ou
$classe = new ClasseGlobal;
$classe->queryString();"Perfect Lion " eu não entendi como é que funciona este seu código, até porque sou meio leigo em php. Mas se não for pedir muito, você poderia fazer um código simples como exemplo para que eu possa ver como funciona e compreende-lo???
Grato desde já!!!
Tem como montar um exemplo de uso desta função
tipo index 2 paginas
como chamar o link etc.. ?/??
>
função queryString();
class ClasseGlobal {
public final function queryString() {
$sessao = $_GET['sessao'];
switch($sessao) {
case "pg1": {$pg = "pg1.php";break;}
case "pg2": {$pg = "pg2.php";break;}
case "pg3": {$pg = "pg3.php";break;}
default: {$pg = "erro.php";break;}
}
if(file_exists($pg)) {
return $pg;
exit();
} else {
return "erro.php";
exit();
}
}
}
a chamada dela ficarioa assim:
ClasseGlobal::queryString();
ou
$classe = new ClasseGlobal;
$classe->queryString();
Entao galera..o exemplo ta funcionando bem pra vcs...