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ágina nã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.