João F. Melo Postado Novembro 29, 2008 Denunciar Share Postado Novembro 29, 2008 boa tarde amigos, o site q estou fazendo a url amigavel esta funcionando tudo certo, mas quando resgato os dados da categoria não retorna nada.onde deve aparecer os dados:<?php $servidor = "localhost"; $usuario = "user"; $senha = "senha"; $banco = "bd"; $conexao = mysql_connect($servidor,$usuario,$senha); mysql_select_db($banco); $res = mysql_query("SELECT * FROM categorias") or die(mysql_error()); $pagina = explode("/", $_GET['categoria']); $sub = explode("/", $_GET['sub']); if ($pagina{1}){ if (empty($sub) || empty($pagina)){?> <b><center><font color=red>ERRO:</font><br>A página <span><?=$pagina?></span> não existe!</center></b> <? } else { $idcampo = explode("/", $_GET['sub']); $Query ="Select * from subcategorias WHERE id = $idcampo"; $resultado = mysql_query($Query); $campo = mysql_fetch_assoc($resultado); echo '<div id="breadcrumb"><i>Você está em: <a title="Home" href="./site">Home</a> » <a title="Categoria » '.$campo['categoria'].'" href="?p='.strtolower($campo['categoria']).'">'.ucfirst($campo['categoria']).'</a> » '.ucfirst($campo['nome']).'</i></div> <p>'.nl2br($campo['descricao']).'<br /><address><a href="java script:history.back(-1)">Voltar</a></address>'; } } else { print '<span><h3>Desenvolvimento, Tecnologia e Informação, na ponta do lápis.</h3></span>'; } ?>com o codigo acima sem URL amigavel funciona perfeito.como devo fazer para resgatar os dados do bd corretamente? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Novembro 29, 2008 Denunciar Share Postado Novembro 29, 2008 Se com URL amigável não está funcionando o problema está no seu .htaccess, verifique se as expressões regulares estão corretas.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 João F. Melo Postado Novembro 29, 2008 Autor Denunciar Share Postado Novembro 29, 2008 .htaccessRewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^([^/]*)/$ /site/ [L] RewriteRule ^categoria/([^/]*)/$ /site/index.php?categoria=$1&sub=$2 [QSA] #RewriteRule ^([^/]*)\.html$ /site/index.php?categoria=$1&sub=$2 [L] #RewriteRule ^diversos/([^/]*)\.html$ /site/index.php?diversos=$1 [L] RewriteRule ^diversos/([^/]*)/$ /site/index.php?diversos=$1 [L] #Este abixo exibe assim http://localhost/site/php/galaria_de_fotos/ RewriteRule ^categoria/([^/]*)/([^/]*)/$ /site/index.php?categoria=$1&sub=$2 [L,QSA]Na url esta assim http://localhost/site/categoria/php/agenda/Faz tempo que estou tentando resolver isso e nada já estou até com dor de cabeça. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 João F. Melo Postado Dezembro 1, 2008 Autor Denunciar Share Postado Dezembro 1, 2008 estou precisando somente disso e ainda não consegui apesar de passar quase o domingo todo nisso.desculpem o flood mas é desespero mesmo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Dezembro 1, 2008 Denunciar Share Postado Dezembro 1, 2008 Caso você não tenha pleno domínio de expressões regulares use essa ferramenta para gerá-las. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 João F. Melo Postado Dezembro 1, 2008 Autor Denunciar Share Postado Dezembro 1, 2008 Já usei ela, mas o problema é em EXIBIR os dados do bd como descrito. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 João F. Melo Postado Dezembro 2, 2008 Autor Denunciar Share Postado Dezembro 2, 2008 RESOLVIDODepois de tanto percorrer a net a procura finalmente em casa e num sonho (isso mesmo) :blink:, me veio a soluçao.<?php function urlAmigavel(){ // - Pega url digitada no navegador $url_digitada = strip_tags($_SERVER['REQUEST_URI']); // - Trasnforma em elementos de um array. $url_array = explode("/", $url_digitada); // - Exclui o primeiro elemento que está sempre vazio. array_shift($url_array); return $url_array; } $url = urlAmigavel(); /* if($url[2] == $url[2]){ echo "Você está em ".$url[2]." - "; } else{ echo "Você está em outra categoria"; }*/ if ($url{1}){ if (empty($url[2]) and empty($url[3])){?> <b><center><font color=red>ERRO:</font><br>A página <span><?=$url[1]?></span> não existe!</center></b> <? } else { $idcampo = addslashes($url[3]); $Query ="Select * from subcategorias WHERE categoria = '$url[2]' AND nome = '$url[3]'"; //O meu problema estava aki $resultado = mysql_query($Query); $campo = mysql_fetch_assoc($resultado); print $url[3]; echo '<div id="breadcrumb"><i>Você está em: <a title="Home" href="./site">Home</a> » <a title="Categoria » '.$campo['categoria'].'" href="?p='.strtolower($campo['categoria']).'">'.ucfirst($campo['categoria']).'</a> » '.ucfirst($campo['nome']).'</i> <p style="background:#f00;">Merda'.nl2br($campo['descricao']).'<br /><address><a href="java script:history.back(-1)">Voltar</a></address></p></div>'; } } else { print '<span><h3>Desenvolvimento, Tecnologia e Informação, na ponta do lápis.</h3></span>'; } ?>Muito obrigado aos que me ajudaram! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
João F. Melo
boa tarde amigos, o site q estou fazendo a url amigavel esta funcionando tudo certo, mas quando resgato os dados da categoria não retorna nada.
onde deve aparecer os dados:
com o codigo acima sem URL amigavel funciona perfeito.
como devo fazer para resgatar os dados do bd corretamente?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
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.