Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

weslleysolo

Exemplo de querystring passo a passo.

Recommended Posts

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.... ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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..

Compartilhar este post


Link para o post
Compartilhar em outros sites

É 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'] : "";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aee, valeuz pelo tuto, estava precisando e funcionou direitinho aqui!!Valeuzzz

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não seise é coveniente usar include

<?phpinclude "files/" . $valor . ".php"?>

ai sua pagina fica assim: www.seusite.com.br/?valor=suapagina

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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();

Compartilhar este post


Link para o post
Compartilhar em outros sites

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();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.