Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

18
respostas

Problema de acesso ao servidor local

Boa tarde,

Seguem os códigos fonte dos referidos arquivos, pois estão dando os seguintes bugs:

The requested URL /categorias.php was not found on this server.

The requested URL /produtos.php was not found on this server.

Uso o PhpAdmin, cujo login: root e senha vazia (sem nada).

Criei o Banco de Dados "estoque" e os arquivos em PHP estão no Windows: C:/wamp/www/PDO. Obrigado!

1) Arquivo "Categoria.php":

<?php

class Categoria
{

    public $id;
    public $nome;

    public function listar()
    {
        $query = "SELECT id, nome FROM categorias";
        $conexao = new PDO('mysql:host=localhost;dbname=estoque', 'root', '');
        $resultado = $conexao->query($query);
        $lista = $resultado->fetchAll();
        return $lista;
    }
}

2) Arquivo "categorias.php":

<?php require_once 'classes/Categoria.php'; ?> <?php $categoria = new Categoria(); $lista = $categoria->listar(); ?> <?php require_once 'cabecalho.php' ?>

Categorias

IdNomeEditarExcluir
<?php foreach ($lista as $linha): ?>
<?php echo $linha['id'] ?><?php echo $linha['nome'] ?>EditarExcluir <?php endforeach ?> <?php require_once 'rodape.php' ?>
18 respostas

Em qual pasta está o arquivo categorias.php ?

E em qual pasta está o arquivo categoria.php?

Bom dia,

O arquivo "categorias.php" e os demais arquivos em PHP estão na pasta PDO". Já o arquivo classe "Categoria,php" está na subpasta "classes", conforme orientação do curso. No aguardo da resolução do problema e obrigado,

Marcello.

Então indique isto no include:

<?php require_once '../classes/Categoria.php'; ?>

O .. indica que o PHP precisa subir um diretório/pasta e depois entrar na pasta classes para localizar o arquivo CATEGORIA.PHP

A mensagem de erro indica exatamente isto: que o caminho indicado para localizar o arquivo está errado.

The requested URL /categorias.php was not found on this server.

Ok, vou modificar e debugar aqui. Grato!

Bom dia, Fiz o que vc me orientou e não deu certo. Seguem os códigos fonte dos arquivos que estão na subpasta "C:/wamp/www/PDO/classes":

1) Arquivo "categorias.php":

<?php require_once 'classes/Categoria.php'; ?>
<?php
    $categoria = new Categoria();
    $lista = $categoria->listar();

2) arquivo "conexao.php":

<?php

class Conexao { public static function pegarConexao() { $drive = 'mysql'; $hostname = 'localhost'; $username = 'root'; $password = ''; $database = 'estoque'; $conexao = new PDO('mysql:host=localhost;dbname=estoque', 'root', ''); $conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $conexao; } }

O arquivo precisa ser alterado. Acrescente o ../ antes de classes.

<?php require_once '../classes/Categoria.php'; ?>
<?php
    $categoria = new Categoria();
    $lista = $categoria->listar();

Se continuar com o erro, copie a mensagem completa do erro.

Bom dia,

Copiei e colei a linha de código abaixo, mas o problema continua:

<?php require_once '../classes/Categoria.php'; ?>

The requested URL /categorias.php was not found on this server.

Qual script/página está provocando este erro?

The requested URL /categorias.php was not found on this server.
<?php require_once 'global.php' ?>
<?php
    try {
        $lista = Categoria::listar();
    } catch(Exception $e) {
        Erro::trataErro($e);
    }
?>
<?php require_once 'cabecalho.php' ?>
<div class="row">
    <div class="col-md-12">
        <h2>Categorias</h2>
    </div>
</div>

<div class="row">
    <div class="col-md-4">
        <a href="categorias-criar.php" class="btn btn-info btn-block">Crair Nova Categoria</a>
    </div>
</div>

<div class="row">
    <div class="col-md-12">
        <table class="table">
            <thead>
                <tr>
                    <th>Id</th>
                    <th>Nome</th>
                    <th class="acao">Editar</th>
                    <th class="acao">Excluir</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach ($lista as $linha): ?>
                    <tr>
                        <td><a href="/categorias-detalhe.php?id=<?php echo $linha['id'] ?>" class="btn btn-link"><?php echo $linha['id'] ?></a></td>
                        <td><a href="/categorias-detalhe.php?id=<?php echo $linha['id'] ?>" class="btn btn-link"><?php echo $linha['nome'] ?></a></td>
                        <td><a href="/categorias-editar.php?id=<?php echo $linha['id'] ?>" class="btn btn-info">Editar</a></td>
                        <td><a href="/categorias-excluir-post.php?id=<?php echo $linha['id'] ?>" class="btn btn-danger">Excluir</a></td>
                    </tr>
                <?php endforeach ?>
            </tbody>
        </table>
    </div>
</div>
<?php require_once 'rodape.php' ?>

O que aparece na barra de endereço antes do erro?

The requested URL /categorias.php was not found on this server

Não vi no código acima nenhuma referência para categorias.php.

Você precisa checar quem está chamando categorias.php e indicar o caminho correto para este arquivo.

<?php require_once '../classes/Categoria.php'; ?>

Bom dia,

Observei que o arquivo "categorias.php" referencia o arquivo "global.php":

<?php require_once 'global.php' ?>

Sendo que o código do arquivo "global.php" está assim:

<?php

require_once 'classes/config.php';

Mesmo alterando a linha de código acima para:

<?php

require_once '../classes/config.php';

Ainda dá o bug:

404 Not Found The requested URL /categorias.php was not found on this server.

Meu código no arquivo "conexao,php" é:

<?php

class Conexao { public static function pegarConexao() { $drive = 'mysql'; $hostname = 'localhost'; $username = 'root'; $password = ''; $database = 'estoque'; $conexao = new PDO('mysql:host=localhost;dbname=estoque', 'root', ''); $conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $conexao; } }

Como proceder, pois o servidor ainda não foi encontrado em "C:/wamp/www/PDO/classes".

No aguardo e obrigado pela atenção,

Marcello.

O problema não está no arquivo categorias.php, mas no arquivo que está dando include ou require no arquivo categorias.php .

Localize quem está fazendo referência e realize a alteração.

Qual URL está sendo usada e que está provocando o erro ?

Você está digitando o que no navegador ?

Boa tarde,

No navegador digito localhost/PDO/

Abs,

Marcello.

Qual o código do index que está dentro de PDO ?

Boa tarde,

Segue abaixo o meu arquivo "index.php", que está na pasta PDO:

<?php require_once 'cabecalho.php' ?>

Sejá bem-vindo ao Sistema de Controle de Estoque

Selecione uma das opções do Menu para começar a usar o Sistema

<?php require_once 'rodape.php' ?>

É este arquivo index.php que está gerando o erro? Não vejo nele nenhuma menção ao arquivo categoria.php.

Boa tarde,

Vc perguntou:

Qual o código do index que está dentro de PDO ? Não entendi...

Para resolver este problema você precisa identificar qual SCRIPT/CÓDIGO está fazendo o include de categorias.php.

Pensei que fosse o index, mas já vi que não é.

Você consegue encontrar o código que está gerando o erro ao tentar incluir categorias.php ?