Pessoal, estou com dificuldades com essa URL amigável, oque pretendo é o seguinte:
No array $pages são as páginas permitidas, contato.php e teste.php
Até ai tudo bem chama as páginas certas, se não existir os arquivos mostra a mensagem que a página não existe.
http://localhost/contato
Agora estou com dificuldades de fazer essa verificação pelo banco de dados, se baseando pelo slug da minha tabela
http://localhost/produtos/tenis-azul
Apenas exibe a mensagem de que a página não existe.
Como poderia resolver esse problema? se precisar posto a class CRUD
<?php
class URL extends CRUD
{
private $selectTable;
private $listResult;
private function setURL()
{
$pages = array ( "fazer-pedido", "contato", "page-teste" );
$categorias = array ( "sapato", "tenis" );
if ( isset ( $_GET['url'] ) ) :
$url = addslashes ( $_GET['url'] );
$sepURL = explode ( "/", $url );
endif;
if ( isset( $sepURL[1] ) ) :
$this->selectTable = $this->selectTable( "COUNT(slug) AS slug", "tabela", "LIMIT 1", array () );
$count = $this->selectTable->rowCount();
foreach ( $this->selectTable as $this->listResult ) :
if ( $sepURL[1] === $this->listResult['slug'] ) :
require DIR_FILES."slug".EXT;
else :
echo "Essa página não existe, Verificação: ".$sepURL[1];
endif;
endforeach;
elseif ( isset( $sepURL[0] ) && in_array ( $sepURL[0], $pages ) ) :
if ( file_exists ( DIR_FILES.$sepURL[0].EXT ) ) :
require DIR_FILES.$sepURL[0].EXT;
else :
echo "Essa página não existe";
endif;
elseif ( isset( $sepURL[0] ) && in_array ( $sepURL[0], $categorias ) ) :
require DIR_FILES."categorias".EXT;
else :
require DIR_FILES."home".EXT;
endif;
}
public function getURL()
{
return $this->setURL();
}
}