Ir para conteúdo
Fórum Script Brasil
  • 0

Tutorial De Query Strings


Beraldo

Pergunta

Saudações, pessoal. :)

Uma dúvida muito comum diz respeito ao uso das Query Strings. Devido a isso, resolvi escrever este tutorial básico sobre o uso delas.

Para quem não sabe, query strings são usadas quendo se quer deixar as URL's desta forma:

Neste exemplo, as páginas ficarão assim:

index.php?local=01

Começaremos com os códigos CSS e HTML:

estilo.css

body{
    text-align: center;
    color: #000;
    font-size: 12px;
    margin: 10px;
    background: #ccc;
}
#tudo{
    width: 560px;
    height: 350px;
    margin: 0 auto;
    padding: 0;
    border-left: solid 3px red;
    border-right: solid 3px red;
}
#menu{
    position: relative;
    width: 300px;
    height: 22px;
    top: 10px;
    margin: 0 auto;
    padding: 2px;
    font-size: 15px;
    background: #000;
}
#menu ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
#menu li{
    display: inline;
    margin: 0 3px;
    padding: 0 2px;
}
#menu a:link{
    text-decoration: underline;
    color: #fff;
}
#menu a:visited{
    text-decoration: underline;
    color: #fff;
}
#menu a:hover{
    text-decoration: none;
    color: blue;
}
#conteudo{
    position: relative;
    width: 480px;
    top: 40px;
    margin: 2px auto;
}
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="estilo.css" media="screen" />
<title>Query Strings</title>
</head>
<body>
<div id="tudo">
<h1 style="margin: 2px;padding: 3px;border-bottom: solid 4px black;  font-size: 28px;">
Tutorial Query String
</h1>
<div id="menu">
<ul>
  <li><a href="index.php">Página Inicial</a></li>
  <li><a href="index.php?local=01">Link 01</a></li>
  <li><a href="index.php?local=02">Link 02</a></li>
  <li><a href="index.php?local=03">Link 03</a></li>
</ul>
</div>
<div id="conteudo">
<?php
if (isset($_GET['local'])){
    switch ($_GET['local']){
        case 01:
          include "link01.php";
          break;
        case 02:
          include "link02.php";
          break;
        case 03:
          include "link03.php";
          break;
    }
}else{
    include "principal.php";
}
?>
</div>
</div>
</body>
</html>
Explicando o funcionamento do script PHP do código acima: Nesta linha verifica-se se a variável local existe na URL:
if (isset($_GET['local'])){
Função isset(): http://br2.php.net/manual/pt_BR/function.isset.php Sobre a superglobal $_GET: http://www.php.net/manual/pt_BR/reserved.v...d.variables.get Nesta parte, faz-se a verificação do valor da variável $_GET['local'], incluindo a página referente a ele:
    switch ($_GET['local']){
        case 01:
          include "link01.php";
          break;
        case 02:
          include "link02.php";
          break;
        case 03:
          include "link03.php";
          break;
    }
Sobre o switch(): http://br.php.net/manual/pt_BR/control-structures.switch.php E a última parte inclui a página inicial, caso não exista a variável local na URL:
}else{
    include "principal.php";
}
Os códigos das páginas principal.php, link01.php, link02.php e link03.php são estes: principal.php
<?php
echo "
<h1>Página Inicial</h1>
<h3>Esta é a página inicial do site</h3>
";
?>
link01.php
<?php
echo "
<h1>Link 01</h1>
<h3>Este é o Link 01</h3>
<p>
Aqui Vão dados sobre o link 01
</p>
";
?>
link02.php
<?php
echo "
<h1>Link 02</h1>
<h3>Este é o Link 02</h3>
<p>
Aqui podemos citar várias outras informações sobre o Link 02.
</p>
";
?>
link03
<?php
echo "
<h1>Link 03</h1>
<h3>Este é o Link 03</h3>
<p>
Neste link iremos mostrar tudo o que você sempre quis saber sobre o Link 03, que tem muito a ver com o PHP.
</p>
";
?>

Basta salvar todos esses arquivos no mesmo diretório e clicar nos links da index.php para ver o sistema funcionando.

É um exemplo simples, mas dá para entender como funcionam as query strings.

Abraços

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Guest --rust --

uma duvida

meu codigo esta assim

if (isset($_GET['comunidade'])){

switch ($_GET['comunidade']){

case character:

include "modulos/community/character.php";

break;

}

}

if (isset($_GET['site'])){

switch ($_GET['site']){

case principal:

include "modulos/noticias.php";

break;

}

}

como defino um default para os dois casos?

Link para o comentário
Compartilhar em outros sites

  • 0
Um case especial é o default. Esse case é executado quando nenhum outro case combina. Ele precisa ser a última instrução case. Por exemplo:

<?php
switch ($i) {
    case 0:
        echo "i igual a 0";
        break;
    case 1:
        echo "i igual a 1";
        break;
    case 2:
        echo "i igual a 2";
        break;
    default:
        echo "i não é igual a 0, 1 ou 2";
}
?>

Fonte: http://br.php.net/switch

OBS: Insira as strings do case entre aspas, a fim de evitar E_NOTICE's.

Abraços,

Beraldo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...