Erro ao carregar pagina em php

21/06/2017

0

Boa tarde à todos primeiramente.

Pessoal, se alguém puder me ajudar a desvendar esse mistério eu agradeço.

Tenho essa pagina produto.php
<?php
	//recuperar o id passado pela url
	$url = (isset($_GET['url'])) ? $_GET['url']:'';	
	$explode = explode('/',$url);
	$categoria = $explode[1];
	
	//Consultar a categoria conforme o id
	$resultado_cat=mysql_query("SELECT * FROM categorias WHERE id='$categoria' LIMIT 1");
	$linhas_cat=mysql_fetch_assoc($resultado_cat);
	
	//Consultar os produtos conforme a categoria
	$resultado_prod=mysql_query("SELECT * FROM produtos WHERE categoria_id='$categoria' ORDER BY 'id'");
	$linhas_prod=mysql_num_rows($resultado_prod);
?>
    <!-- Marketing messaging and featurettes
    ================================================== -->
    <!-- Wrap the rest of the page in another container to center all the content. -->

    <div class="container marketing">
		<h1><?php echo $linhas_cat['nome']; ?></h1>
      <!-- Three columns of text below the carousel -->
      <div class="row">
		<?php 
			while($linhas_prod = mysql_fetch_array($resultado_prod)){
				$imagem = pg.'/foto/'.$linhas_prod['imagem']; 
			?>
				<div class="col-xs-12 col-sm-6 col-md-3 col-lg-3">
				  <img class="img-circle" src="<?php echo $imagem; ?>" alt="Generic placeholder image" width="140" height="140">
				  <h2><?php echo $linhas_prod['nome']; ?></h2>
				  <p><?php echo $linhas_prod['descricao_curta']; ?></p>
				  <p><a class="btn btn-default" href="<?php echo pg.'/detalhe_produto/'.$linhas_prod['id'].'/'.$linhas_prod['slug']; ?>" role="button">Mais detalhes »</a></p>
				</div><!-- /.col-lg-4 -->     
			<?php } ?>
      </div><!-- /.row -->


      <!-- START THE FEATURETTES -->
		<?php
			//Consultar os produtos conforme a categoria
			$resultado_prod_baix=mysql_query("SELECT * FROM produtos WHERE categoria_id='$categoria' ORDER BY 'id' LIMIT 3");
			$linhas_prod_baix=mysql_num_rows($resultado_prod_baix);
		?>
      <hr class="featurette-divider">
		<?php 
		//imprime produtos lista baixa destaque
		$controle = 0;
		while($linhas_prod = mysql_fetch_array($resultado_prod_baixo)){
			$imagem = pg.'/foto/'.$linhas_prod['imagem']; 
			if($controle == 0){
			?>
			  <div class="row featurette">
				<div class="col-md-7">
				  <h2 class="featurette-heading"><?php echo $linhas_prod['nome']; ?></h2>
				  <p class="lead"><?php echo $linhas_prod['descricao_curta']; ?></p>
				</div>
				<div class="col-md-5">
				  <img class="featurette-image img-responsive center-block" src="<?php echo $imagem; ?>" alt="Generic placeholder image">
				</div>
			  </div>

				<hr class="featurette-divider">
				<?php $controle = 1; 
			}else{ ?>
				<div class="row featurette">
					<div class="col-md-7 col-md-push-5">
						<h2 class="featurette-heading"><?php echo $linhas_prod['nome']; ?></h2>
						<p class="lead"><?php echo $linhas_prod['descricao_curta']; ?></p> 
					</div>
					<div class="col-md-5 col-md-pull-7">
					  <img class="featurette-image img-responsive center-block" src="<?php echo $imagem; ?>" alt="Generic placeholder image">
					</div>
				  </div>
				<hr class="featurette-divider">
			<?php $controle = 0; 
			} ?>
		<?php } ?>
      

      <!-- /END THE FEATURETTES -->


      <footer>
        <p>© AriusLojaFicticia.com.br</p>
      </footer>
    </div> <!-- /container -->




Pagina de menu.php

<?php	
	$resultado=mysql_query("SELECT * FROM categorias ORDER BY 'id'");
	$linhas=mysql_num_rows($resultado);
?>	
<nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
	<div class="navbar-header">
	  <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
		<span class="sr-only">Toggle navigation</span>
		<span class="icon-bar"></span>
		<span class="icon-bar"></span>
		<span class="icon-bar"></span>
	  </button>
	  <a class="navbar-brand" href="#">AriusLoja</a>
	</div>
	
	<div id="navbar" class="navbar-collapse collapse">
	  <ul class="nav navbar-nav">
		<li><a href="<?php echo pg.'/home'; ?>">Home</a></li>            
		<li class="dropdown">
		  <a href="produto.php" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Produtos <span class="caret"></span></a>
		  <ul class="dropdown-menu">
			<?php 
				//lista as categorias de produto
				while($linhas = mysql_fetch_array($resultado)){
				?><li><a href="<?php echo pg.'/produto/'.$linhas['id'].'/'.$linhas['slug']; ?>"><?php echo $linhas['nome']; ?></a></li>	
			<?php } //fim lista as categorias de produto?>			
		  </ul>
		</li>
		<li><a href="<?php echo pg.'/empresa'; ?>">Empresa</a></li>
		<li><a href="<?php echo pg.'/contato'; ?>">Contato</a></li>
	  </ul>
	</div><!--/.nav-collapse -->
  </div>
</nav>
	


pagina index.php

<?php
	
	define('pg','http://localhost/loja');
	session_start();
	include_once("adm/conexao.php");
?>
<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" href="adm/imagens/favicon.ico">

    <title>Loja de Moveis</title>

    <!-- Bootstrap core CSS -->
    <link href="<?php echo pg ?>/css/bootstrap.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="<?php echo pg ?>/css/jumbotron.css" rel="stylesheet">
	
	<!-- Custom styles for this template 
    <link href="css/carousel.css" rel="stylesheet">-->
	
    <!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
    <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
    <script src="<?php echo pg ?>/js/ie-emulation-modes-warning.js"></script>

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>

  <body>
	<!-- Menu -->
	<?php
		include_once("menu.php");
	?>
	
	  
	 <!-- Marketing messaging and featurettes
    ================================================== -->
    <!-- Wrap the rest of the page in another container to center all the content. -->

    <?php
		$url = (isset($_GET['url'])) ? $_GET['url']:'';
		$explode = explode('/',$url);
		
		$paginas = array('home','produto','contato','empresa','detalhe_produto','proc_cad_contato');
		
		if(isset($explode[0])&& $explode[0] == ''){
			include "home.php";
		}elseif($explode[0]!=''){
			if(isset($explode[0]) && in_array($explode[0],$paginas)){
				include $explode[0].".php";
			}else{
				include "home.php";
			}
		}
		
	?>  


    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="<?php echo pg ?>/js/jquery.min.js"></script>
    <script src="<?php echo pg ?>/js/bootstrap.min.js"></script>	
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="<?php echo pg ?>/js/ie10-viewport-bug-workaround.js"></script>
  </body>
</html>


Uso um método que recupera o ID e Nome das categorias de produto que cadastrei, porém ao clicar sempre dá erro de que a pagina não existe

Not Found

The requested URL /loja//produto/1/escritorio was not found on this server.

Apache/2.4.7 (Ubuntu) Server at localhost Port 80

sempre o apache me retorna esse erro.
Gabriel Rocha

Gabriel Rocha

Responder

Posts

21/06/2017

Fabio Rocha

Olá Grabriel,

Pelo que vi esta utilizando URL amigáveis mas não vi o seu arquivo .htaccess

Tente criar este arquivo com este conteúdo dentro.

RewriteEngine On

RewriteCond % !-d
RewriteCond % !-f
RewriteCond % !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]


Abraços
Responder

21/06/2017

Gabriel Rocha

Não é esse o problema, infelizmente :/
Responder

21/06/2017

Fabio Rocha

Olá Gabriel,

Tente postar seu .htaccess aqui para possa tentar lhe ajudar.

Verifique também a configuração do PHP se mod_rewrite esta habilitado.

Pois erro de 404 normalmente é quando esta relacionado ao servidor não encontrar uma página, o mod_rewrite faz com que isso não aconteça quando esta ativo normalmente.

Abraços
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar