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 ?