Jump to content


Photo

Query String, Sub-Categoria Pegar String De Dentro De Php


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 Livia29

Livia29

    Novato no fórum

  • Usuários
  • 15 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 19/02/2012, 16:12

Antes que alguém leia tudo isso...

CONSEGUI RESOLVER!

Por isso estou editando o post, já que ninguém teve tempo de lê-lo...

Basicamente eu queria um código query string para acessar mais facilmente as seções do meu site. Uma das seções tem uma sub-seção, e eu queria que essa sub-seção pegasse strings que estão dentro de um arquivo PHP.

O problema era que, com o código que eu tinha, a sub-seção só conseguia pegar um arquivo PHP, não strings de um arquivo PHP.

Não sei se consegui me explicar bem mas, como sou iniciante em PHP e tive muito trabalho para pesquisar, configurar e encontrar a solução para o que eu queria, resolvi postá-la aqui caso alguém esteja procurando algo semelhante.

Não sei nem se posso fazer isso, então, moderador, se quiser, pode deletar o tópico ou adicionar RESOLVIDO nele, por favor...

As páginas que fiz para o teste foram:

query.php
index.php
home.php
media.php
shows.php
shows/2010.php
shows/2011.php

Ambas 2010.php e 2011.php estão dentro da pasta "shows" e contêm as strings do tipo "111223" ou "101017" (desculpe-me se o nome daquilo não é "string", ainda não sei bem o nome das coisas...)

Coloquei isso no arquivo query.php:

<?php
@$pg = $_GET['pg'];
@$ano = $_GET['ano'];
@$data = $_REQUEST['data'];
?>

<?php
if ($pg == "" && !$ano) {
$pagina = "home.php";
}
elseif ($pg == "$pg" && !$ano) {
$pagina = "$pg.php";
}
elseif ($pg == "$pg" && $ano == "$ano") {
$pagina = "$pg/$ano.php";
}
elseif ($pg == "$pg" && $ano == "$ano" && $data == "data") {
$pagina = "$pg.php";
}
?>


Isso no arquivo index.php:

<?php include "query.php" ?>
<html>
<head>
<title></title>
</head>
<body>

<table border="0" width="350">
<tr>
<td><a href="?pg=media">media</a><br><br>
<a href="?pg=shows">shows</a><br>
..<a href="?pg=shows&ano=2010">2010</a><br>
....<a href="?pg=shows&ano=2010&data=101017">101017</a><br>
....<a href="?pg=shows&ano=2010&data=100913">100913</a><br>

..<a href="?pg=shows&ano=2011">2011</a><br>
....<a href="?pg=shows&ano=2011&data=111222">111222</a><br>
....<a href="?pg=shows&ano=2011&data=111223">111223</a></td>
<td>
<?php
if( (isset($pagina)) and (file_exists($pagina)) ) {
include($pagina);
} else {
echo "<br><b>Essa p&aacute;gina n&atilde;o existe!<br><a href=\"java script:history.back();\">voltar</a></b>";
}
?>
</td>
</tr>
</table>

</body>
</html>


O código PHP no meio da página index.php é colocado onde vai o conteúdo dinâmico.

Em 2010.php, tenho:

<?php
if ($data == '')
{
?>

Shows 2010<br /><br />

<a href="?pg=shows&ano=2010&data=101017">Show 101017</a><br />
<a href="?pg=shows&ano=2010&data=100913">Show 100913</a>

<?php
}
elseif ($data == '101017')
{
?>

Show 101017

<?php
}
elseif ($data == '100913')
{
?>

Show 100913

<?php
}
?>


E o 2011.php segue a mesma linha.

Escrevi só as respectivas palavras dentro dos arquivos restantes. Em home.php escrevi apenas "home", e assim por diante, só pra testar.

No final, os links ficaram assim:

index.php?pg=media
index.php?pg=shows
index.php?pg=shows&ano=2010
index.php?pg=shows&ano=2011
index.php?pg=shows&ano=2010&data=101017
index.php?pg=shows&ano=2011&data=111222

É isso. Talvez haja uma maneira de fazer isso mais facilmente com PHP... Como meu site não é muito grande e eu nem uso banco de dados, por enquanto isso me satisfaz.

No meu computador e no meu servidor isso funcionou direitinho. Se alguém achar algum erro ou tiver algo a acrescentar sobre o código, seria muito bem-vindo.

Abraços
Livia

Edição feita por: Livia29, 19/02/2012, 16:15.





1 user(s) are reading this topic

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

IPB Skin By Virteq