Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JapahReturN

[Resolvido] script pra puxar paginas na index

Recommended Posts

Antigamente usava na index:

<?php
              $include = (isset($_GET["pg"]) == null ? "home" : $_GET["pg"]);
             
              if(file_exists($include.".php")) {
              include($include.".php");
              } else {
              include("404.php");
              }
?>

 

Mas agora nessa nova index, além de as outras paginas não estarem junto dela... quero eliminar na URL :?pg=contato .... Gostaria que ficasse só contato

Tentei esse código mas só funciona a home =( me ajudem pls...  (Obs: a index ta na pasta raiz, e as outras paginas na pasta _view ... fiz uma gabiarra eu sei u.u)

        <?php
        if (empty($getexe)):
            $includepatch = __DIR__ . DIRECTORY_SEPARATOR . '_view' . DIRECTORY_SEPARATOR . 'home.php';
            else:
             $includepatch = __DIR__ . DIRECTORY_SEPARATOR . '_view' . DIRECTORY_SEPARATOR . strip_tags(trim($getexe) . '.php');
        endif;
            if (file_exists($includepatch)):
                require_once($includepatch);
            else:
                echo "<div class=\"content notfound\">";
                WSErro("<b>Erro ao incluir tela:</b> Erro ao incluir o controller /{$getexe}.php!", WS_ERROR);
                echo "</div> </div>  ";
            endif;
            ?>  






 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se chama URL Amigável. Dê uma pesquisada sobre o assunto.

 

Veja este artigo:

http://imasters.com.br/artigo/6841/php/urls-amigaveis-algumas-tecnicas?trace=1519021197&source=single

Compartilhar este post


Link para o post
Compartilhar em outros sites
# Arquivo index.php

/**
 * Você cadastra os nome de suas rotas e arquivos correspondentes em um array
 */
$rotas = [
    '/' => '_view/home.php', 
    '/contato' => '_view/contato.php', 
    '/noticias-do-dia' => '_view/noticas.php'
    ];

/**
 * Ai depois você pega a uri que o usuário esta tentando acessar
 */
$url = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

/**
 * E então verifica se essa rota esta cadastrada, se estiver, faz o include
 */
if (array_key_exists($url, $rotas)) {
    require_once $rotas[$url];
}else {
    require_once '404.php';
}

Esse esquema vai esta no seu arquivo index.php, você vai precisar criar um arquivo .htaccess na raiz de seu projeto, que redirecione todas as solicitações para o seu seu index.php

Essa é a base, a partir dessa ideia você pode ir evoluindo... 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu consegui "funcionar" só com esse simples código e a .htaccess:
 

          $url = (isset($_GET["url"]) == null ? "_view/home.php" : $_GET["url"]);

         if(file_exists("_view/$url.php")){
                include "_view/$url.php";
            }else{
                include "_view/404.php";
            }


Porém quando não tem arquivo nenhum: index/   .... ele não cai na home.php, ele ta dando 404.php

...ou seja, na variável $url só esta pegando o: $_GET["url"];
... e não a condição de que se estiver null pra cair na home.php, COMO EU FAÇO? obg

Compartilhar este post


Link para o post
Compartilhar em outros sites
  $url = (isset($_GET["url"]) == null ? "home.php" : $_GET["url"]);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.