lightfox 7 Denunciar post Postado Julho 22, 2012 Olá estou desenvolvendo um sistema de lições online. tenho a página licoes.php que exibem os links das licoes, porem, eu utilizo um código para exibir as páginas no centro da index, mas queria que as lições fossem exibidas nessa mesma div, no lugar das outras.. mas vejam como é o meu codigo: [resumido] index.php <?php ob_start(); if (!$_SESSION) session_start(); $atual = (isset($_GET['pg'])) ? $_GET['pg'] : 'home'; $permissao = array('home','licoes','contato','404'); if(substr_count($atual, '/') > 0){ $atual = explode('/', $atual); $pagina = (file_exists($atual[0].'.php') && in_array($atual[0], $permissao)) ? $atual[0] : 'erro'; $id = intval($atual[1]); }else{ $pagina = (file_exists($atual.'.php') && in_array($atual, $permissao)) ? $atual : '404'; $id = 0; } ?> <div id="conteudo"> <?php require("{$pagina}.php")?> </div> nessa página de cima, eu listo o nome das paginas que são permitidas na div "conteudo". meu .htaccess: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)$ index.php?pg=$1 Ou seja, quando digito: meusite.com/contato a pagina de contato é exibida na div conteudo, sem problemas. Quando eu digito: meusite.com/licoes as lições cadastradas no banco sao exibidas também.. agora minha dúvida é que, quando estou dentro da pagina liçoes, cada lição tem 1 link, que vem de um campo "URL" cadastrado no banco.. faço a url amigavel de cada lição e salvo lá.. agora eu tenho que puxar as URLs amigaveis mas já não sei como fazer este link, pois na index.php, existe a array que mostra as páginas permitidas no site, então como eu faria para exibir as lições na mesma div "conteudo"?? do jeito que tenho meus arquivos, acredito que o final ficaria: meusite.com/licoes&url=titulo-da-noticia meu objetivo é fazer a url final ficar: meusite.com/licoes/titulo-da-licao ou entao pode tambem ser: meusite.com/titulo-da-licao mas não sei o que fazer na index e nem no .htaccess alguém dá uma luz? rs obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
mangakah 217 Denunciar post Postado Julho 23, 2012 Se você quer simplesmente "implementar" isso o mais rápido possível, instale logo o Wordpress. Se quer aprender, então faça como está no Wordpress. Coloque todo o tráfego apontado para o arquivo index.php RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Use a variável $_SERVER['REQUEST_URI'] para verificar qual a página requisitada e faça a consulta no banco de dados para verificar se existe alguma página com aquela URL. Compartilhar este post Link para o post Compartilhar em outros sites
lightfox 7 Denunciar post Postado Julho 23, 2012 Se você quer simplesmente "implementar" isso o mais rápido possível, instale logo o Wordpress. Se quer aprender, então faça como está no Wordpress. Coloque todo o tráfego apontado para o arquivo index.php RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Use a variável $_SERVER['REQUEST_URI'] para verificar qual a página requisitada e faça a consulta no banco de dados para verificar se existe alguma página com aquela URL. Desculpe, mas não me familiarizo nem um pouco com wordpress. Não gosto do gerenciamento que eles fazem e muito menos quando se trata de aparencia. Prefiro ralar e aprender a desenvolver o meu próprio. Não entendi muito bem a questão de redirecionar todo conteúdo para a index. Como ficaria a minha index.php? Meu codigo redirecionando o conteudo para a div "conteudo" permanece lá? No momento utilizo a url index.php?pg=pagina , com o htaccess que informei, fica: meusite.com/pagina. Ja está funcionando. Mas o que eu quero é que TAMBEM funcione: meusite.com/pagina/pagina2 que sem o access ficaria: meusite.com/index.php?pg=pagina&url=pagina2 Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Jacinto 74 Denunciar post Postado Julho 23, 2012 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)$ index.php?pg=$1&url=$2 Compartilhar este post Link para o post Compartilhar em outros sites
Hiago Drigo 5 Denunciar post Postado Julho 23, 2012 O que costumo fazer nos meus projetos é o seguinte: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)$ index.php?url=$1 O $_GET['url'] é tudo que eu preciso, se eu quisesse meusite.com.br/contato echo $_GET['url'] //exibiria 'contato'; meusite.com.br/contato/novo echo $_GET['url'] //exibiria 'contato/novo'; Daí é o seguinte $url = explode('/', $url); //separa(explode) a string a partir dos '/' transformando em array $param1 = $url[0]; //exibiria contato $param2 = $url[1]; //exibiria novo Não sei se entendeu o que quis dizer, caso não tenha entendido só perguntar! Está bem simples ao meu ver, bem sugestivo. Compartilhar este post Link para o post Compartilhar em outros sites
lightfox 7 Denunciar post Postado Julho 23, 2012 O que costumo fazer nos meus projetos é o seguinte: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)$ index.php?url=$1 O $_GET['url'] é tudo que eu preciso, se eu quisesse meusite.com.br/contato echo $_GET['url'] //exibiria 'contato'; meusite.com.br/contato/novo echo $_GET['url'] //exibiria 'contato/novo'; Daí é o seguinte $url = explode('/', $url); //separa(explode) a string a partir dos '/' transformando em array $param1 = $url[0]; //exibiria contato $param2 = $url[1]; //exibiria novo Não sei se entendeu o que quis dizer, caso não tenha entendido só perguntar! Está bem simples ao meu ver, bem sugestivo. Legal, eu entendi o objetivo do codigo.. É isso mesmo que preciso, PORÉM... Preciso adaptar isso aí ao meu codigo que exibe os conteudos na DIV="CONTEUDO" ... entendeu ? O codigo ta no primeiro post, mas postarei aqui também: <?php ob_start(); if (!$_SESSION) session_start(); $atual = (isset($_GET['pg'])) ? $_GET['pg'] : 'home'; $permissao = array('home','licoes','contato','404'); if(substr_count($atual, '/') > 0){ $atual = explode('/', $atual); $pagina = (file_exists($atual[0].'.php') && in_array($atual[0], $permissao)) ? $atual[0] : 'erro'; $id = intval($atual[1]); }else{ $pagina = (file_exists($atual.'.php') && in_array($atual, $permissao)) ? $atual : '404'; $id = 0; } ?> <div id="conteudo"> <?php require("{$pagina}.php")?> </div> como eu adaptaria para usar da forma que voce falou? valeu mesmo! Compartilhar este post Link para o post Compartilhar em outros sites