Ir para conteúdo

POWERED BY:

Arquivado

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

Junior Gabolli

Erro com Bibliotecas...!

Recommended Posts

Bom vamos lá, acabei de fazer um teste rápido no meu servidor só para confirmar:

include 'uma_pasta_qualquer_no_meu_servidor/arquivo_qualquer.php';

Resultado, include ok.

include '/uma_pasta_qualquer_no_meu_servidor/arquivo_qualquer.php';

Resultado, erro no include, ou seja, esquece essa / no começo.

 

Remove a barra e vamos ver que erro aparece agora com a exibição de erros ativada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vamos lá, acabei de fazer um teste rápido no meu servidor só para confirmar:

include 'uma_pasta_qualquer_no_meu_servidor/arquivo_qualquer.php';

Resultado, include ok.

include '/uma_pasta_qualquer_no_meu_servidor/arquivo_qualquer.php';

Resultado, erro no include, ou seja, esquece essa / no começo.

 

Remove a barra e vamos ver que erro aparece agora com a exibição de erros ativada.

Warning: require_once(pager/common.php) [function.require-once]: failed to open stream: No such file or directory in /home/storage/4/d6/78/docesgabolli/public_html/bibliotecas/pager/jumping.php on line 43

 

Fatal error: require_once() [function.require]: Failed opening required 'pager/common.php' (include_path='includes/') in /home/storage/4/d6/78/docesgabolli/public_html/bibliotecas/pager/jumping.php on line 43

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza Junior, estamos evoluindo, mas vamos alinhar uma coisa, sempre que você receber um erro, ANTES de postar aqui, LEIA O ERRO e tente pensar (sim, usar a cabeça!), faça-se apenas 3 perguntas:

1 - O que o erro me informa?

2 - Onde o erro me informa?

3 - Como corrigir o erro?

 

Não espere que eu vá corrigir tudo para você, quem está ganhando pelo job é você, logo também é você que tem que pensar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, finalmente um dos erros consegui corrigir, agora pelo menos o site carrega normalmente, porém como foi sua orientação fiz as 3 perguntas e resolvi, porém mesmo eu fazendo as 3 perguntas e indo atras de onde ele informa o erro e a razão não esta dando muito certo, pois não sei mais onde olhar agora.

 

O catalogo ainda não abre porém, fui pra pagina de contato e ela me mostrou 2 novos erros quase idênticos do que quando carregava a pagina, porém já olhe, olhei de novo, fui la outra vez, conferi os diretórios mesmo assim o erro persiste, poderia me dar um norte sobre esse erro para que eu possa tenta-lo descobrir novamente ?

 

A imagem dos diretórios e a mesma que eu enviei anteriormente, o apontamento aparentemente esta correto, porém mesmo assim ainda não esta achando o arquivo solicitado.

Warning: require_once(../bibliotecas/phpmailer/class.phpmailer.php) [function.require-once]: failed to open stream: No such file or directory in /home/storage/4/d6/78/docesgabolli/public_html/includes/contato.php on line 2

Fatal error: require_once() [function.require]: Failed opening required '../bibliotecas/phpmailer/class.phpmailer.php' (include_path='includes/') in /home/storage/4/d6/78/docesgabolli/public_html/includes/contato.php on line 2

parte do arquivo contato.php

 

<?php
require_once '../bibliotecas/phpmailer/class.phpmailer.php';
require_once '../bibliotecas/phpmailer/class.smtp.php';
if (isset($_POST['enviarContato'])):

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

No topo você inclui um arquivo que está dentro da pasta bibliotecas assim:

include_once "bibliotecas/pager/pager.php";

Agora veja como está a sua outra inclusão:

require_once '../bibliotecas/phpmailer/class.phpmailer.php';

Você sabe o que singifica ../ ? Você está mandando voltar um nível... o que não faz sentido, já que o index.php e a pasta bibliotecas estão no mesmo nível hierárquico. Remova o ../ e veja no que dá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No topo você inclui um arquivo que está dentro da pasta bibliotecas assim:

include_once "bibliotecas/pager/pager.php";

Agora veja como está a sua outra inclusão:

require_once '../bibliotecas/phpmailer/class.phpmailer.php';

Você sabe o que singifica ../ ? Você está mandando voltar um nível... o que não faz sentido, já que o index.php e a pasta bibliotecas estão no mesmo nível hierárquico. Remova o ../ e veja no que dá.

 

 

Sei sim o significa ../ (rsrs), porém o arquivo q estou tratando agora esta na pasta /includes/contato.php diferente do index.php que esta fora de qualquer pasta, por isso ../ para ele voltar uma pasta e entra na pasta bibliotecas, porém para qualquer fim também fiz esse teste e o erro não mudou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O fato é que o caminho que você está informando (ou acha que está informando) não está levando onde deveria... nesse caso é tentativa e erro ou você passa o caminho absoluto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O fato é que o caminho que você está informando (ou acha que está informando) não está levando onde deveria... nesse caso é tentativa e erro ou você passa o caminho absoluto.

o caminho absoluto seria coloca o require_once 'www.docesgabolli.com.br/bibliotecas/phpmailer/class.phpmailer.php'; ? pois se for assim também não funcionou :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

2d7btpz.jpg

Esta e a imagem dos arquivos, o contato esta dentro da pasta include, já o class.phpmailer.php esta em bibliotecas/phpmailer/.

 

O que posso esta fazendo de errado, pois não sei mais onde procurar o erro :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

A Solução da pagina de contato então ficou assim:

 

require($_SERVER['DOCUMENT_ROOT']."/bibliotecas/phpmailer/class.phpmailer.php");
require($_SERVER['DOCUMENT_ROOT']."/bibliotecas/phpmailer/class.smtp.php");
Porém ....
A pagina de catalogo não carrega, e também não mostra nenhum erro.
O que exatamente ela faz,
Todos os produtos estão cadastrados em um banco onde esta apontando para as imagens, porém quando entro na pagina não abre nenhum imagem e não mostra nenhum erro, teria alguma forma de eu colocar em algum lugar forçar mostrar alguma erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesma situação do post #14 e #16... veja até onde carrega e você vai ver no script onde ele está parando, esse é o caminho para começar a achar o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite,

 

Fiquei verificando e fazendo alguns teste aqui, porem sem sucesso algum, só conseguir ver que tudo esta parando depois do titulo CATALOGO DE PRODUTOS depois disso não carregou mais nada, fiz vários includes, require porém todos sem sucesso algum, será que poderia me dar mais uma vez um norte ?

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>    
    </head>
    <body>
        <div class="conteudo_catalogo">
            <div class="campo_busca">

                <form id="cx_busca" action="resultado" method="POST">
                    <select name="categoria" id="select_busca">
                        <option selected="selected">Escolha uma categoria</option>
                        <?php
                        $listarCategorias = listar('categorias');
                        $d = new ArrayIterator($listarCategorias);
                        while ($d->valid()):
                            ?>
                            <option value="<?php echo $d->current()->categoria_id; ?>"><?php echo $d->current()->categoria_nome; ?></option>

                            <?php
                            $d->next();
                        endwhile;
                        ?>
                    </select>
                    <input type="submit" name="buscar_produto" value="Buscar" id="bt_busca"/>
                </form>
            </div>
            <div class="h2catalogo"> 
               Catálogo de Produtos
            </div>
              /*DAQUI EM DIANTE NÃO SE CARREGA MAIS NADA*/
            <?php            
            $dados = lista(' produtos WHERE produto_foto_inicio !="" ORDER BY  produto_categoria,produto_nome ASC ');
            $params = array(
                'mode' => "Jumping",
                'perPage' => 24,
                'delta' => 5,
                'itemData' => $dados);

            $pager = @ Pager::factory($params);
            $data = $pager->getPageData();
            $d = new ArrayIterator($data);
            while ($d->valid()):
                ?>

                <div class="listarProdutos">
                    <div class="zoom_img">
                        <img src='<?php echo $d->current()->produto_foto_detalhes; ?>' >        
                    </div>
                    <div class="descricao">
                        <span><?php echo $d->current()->produto_nome; ?></span>
                    </div>
                </div>

                <?php
                $d->next();
            endwhile;
            ?>

            <div class="pagi">
                <div class="paginacao">
                    <?php
                    $links = $pager->getLinks();
                    echo $links['all'];
                    ?>
                    <div class="rodape">
                        IMAGENS MERAMENTE ILUSTRATIVAS <BR>
                        O ESTOQUE PODE VARIAR DE ACORDO COM A DISPONIBILIDADE
                    </div>
                </div>

            </div>

    </body>
</html

Se puder me ajudar eu agradeço desde já !!!!!

 

Só para completar, aparentemente se comunica com o banco pois o campos buscar por categorias esta carregando as informações vindas do banco !!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que está logo abaixo de "Catálogo de Produtos" é a função lista().

Ela pode ser o problema. Faça debug nela.

 

Ative os erros, dê echo/var_dump nas variáveis e veja onde a execução está parando. Não tem segredo... é assim que se localizam os erros (sim, existem outras ferramentas de debug, também)

 

O ideal seria que seu sistema tivesse um Arquivo de Inicialização. Assim, bastaria ativar os erros ali, que isso refletiria no sistema como um todo. Não precisaria habilitar os erros em cada arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde, fiz desta maneira para saber se pelo menos ele estava carregando o banco:

 

<?php


function lista($tabela, $parametros = null) {


    $pdo = conectar();
    try {


        if (is_null($parametros)):
            $listar = $pdo->prepare(" SELECT * FROM " . $tabela);
        else:
            $listar = $pdo->prepare(" SELECT * FROM " . $tabela . $parametros);
        endif;
        $listar->execute();


        if ($listar->rowCount() > 0):
            $dados = $listar->fetchAll(PDO::FETCH_OBJ);
            print_r($dados);
            /* return $dados;*/
        else:
            return false;
        endif;
    } catch (PDOException $e) {
        echo "ERRO: " . $e->getMessage();
    }
}

E ele exibiu em texto todos os dados que estou listando do banco, então querer dizer q pelo menos o banco eu tenho certeza que ele esta lendo, porém por que ele não esta carregando as imagens e que me intriga... O que posso estar fazendo de errado, comparei com o código antigo do meu site e a unica coisa que achei de diferente e também ja testei foi que no antigo eu fazia um fetch::ASSOC ao invés do FETCH:OBJ porém mesmo assim não funcionou.....

 

EDIT

 

Puder notar mais uma coisa, o script 'LISTA' esta funcionando pois se não, não estaria carregando os produtos na pagina home do site, pois acaba sendo o mesmo 'lista', acredito agora que deve haver algo de errado dentro da pagina catalogo, porém não estou conseguindo enxergar onde, se alguém achar algo me de uma dica do que pode ser, em qto isso estou a procura do erro.

 

EDIT

 

Não estou conseguindo achar nada, todos os teste que faço não retorno erro algum.... :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como já foi dito várias vezes aqui, repita esse processo até localizar onde a execução é encerrada e qual é a mensagem de erro.

 

Além de habilitar todas as exibições de erro, retire todos os "@" do código. Na maioria das vezes, isso é pura gambiarra ou preguiça. Entenda quando usá-lo: http://rberaldo.com.br/boas-praticas-programacao-php/#arroba

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conferindo os códigos realmente o @ apenas esconde o erro, e esta procurando formas de usar o pager e descobri que no lugar do @ utiliza-se o & porém com a substituição deste carácter aparece o seguinte erro ?

Fatal error: Class 'Pager' not found in /home/storage/4/d6/78/docesgabolli/public_html/includes/catalogo.php on line 38

Class Pager não encontrada, certo. Porém eu teria que declarar essa class dentro da minha pagina, isso já não era para estar funcionando normalmente ? Pois vários modelos que vi, o meu esta igualmente aos dos que eu vi, porém mesmo assim não vem a carregar nada.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

[...] descobri que no lugar do @ utiliza-se o &

Não.

Você interpretou errado ou o site onde você viu isso ensina coisa errada

"&" é operador de referência. São coisas totalmente diferentes.

 

 

Fatal error: Class 'Pager' not found in /home/storage/4/d6/78/docesgabolli/public_html/includes/catalogo.php on line 38
Class Pager não encontrada, certo. Porém eu teria que declarar essa class dentro da minha pagina, isso já não era para estar funcionando normalmente ? Pois vários modelos que vi, o meu esta igualmente aos dos que eu vi, porém mesmo assim não vem a carregar nada.....

 

Aí a gente volta ao erro inicial. O include que estava falhando era justamente do "pager". Lembra quando eu disse que "pager" e "Pager" são coisas diferentes?

Reveja os caminhos dos arquivos e cuida com case-sensitive

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não.

Você interpretou errado ou o site onde você viu isso ensina coisa errada

"&" é operador de referência. São coisas totalmente diferentes.

 

 

Aí a gente volta ao erro inicial. O include que estava falhando era justamente do "pager". Lembra quando eu disse que "pager" e "Pager" são coisas diferentes?

Reveja os caminhos dos arquivos e cuida com case-sensitive

 

Tanto o pager do arquivo catalogo.php quanto o arquivo do bibliotecas/pager/pager.php estão iguais, todos minusculos mesmo assim ele não acha a class cheguei até mesmo colocar um require no código porém mesmo assim não houve alteração.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>    
    </head>
    <body>
        <div class="conteudo_catalogo">
            <div class="campo_busca">

                <form id="cx_busca" action="resultado" method="POST">
                    <select name="categoria" id="select_busca">
                        <option selected="selected">Escolha uma categoria</option>
                        <?php

                        $listarCategorias = listar('categorias');
                        $d = new ArrayIterator($listarCategorias);
                        while ($d->valid()):
                            ?>
                            <option value="<?php echo $d->current()->categoria_id; ?>"><?php echo $d->current()->categoria_nome; ?></option>

                            <?php
                            $d->next();
                        endwhile;
                        ?>
                    </select>
                    <input type="submit" name="buscar_produto" value="Buscar" id="bt_busca"/>
                </form>
            </div>
            <div class="h2_catalogo">
                <h2>Catálogo de Produtos</h2>
                <?php

		$dados = lista(' produtos WHERE produto_foto_inicio !=""',' ORDER BY  produto_categoria,produto_nome ASC ');
                
		$params = array(
                    'mode' => "jumping",
                    'perPage' => 24,
                    'delta' => 5,
                    'itemData' => $dados);

                $pager = pager::factory($params);
                $data = $pager->getPageData();
                $d = new ArrayIterator($data);
                while ($d->valid()):
                    ?>

                    <div class="listarProdutos">
                        <div class="zoom_img">
                            <img src='<?php echo $d->current()->produto_foto_detalhes; ?>' >        
                        </div>
                        <div class="descricao">
                            <span><?php echo $d->current()->produto_nome; ?></span>
                        </div>
                    </div>
                
                    <?php
                    $d->next();
                endwhile;
                ?>
            </div>
            <div class="pagi">
                <div class="paginacao">
                    <?php
                    $links = $pager->getLinks();
                    echo $links['all'];
                    ?>
                    <div class="rodape">
                        IMAGENS MERAMENTE ILUSTRATIVAS <BR>
                        O ESTOQUE PODE VARIAR DE ACORDO COM A DISPONIBILIDADE
                    </div>
                </div>

            </div>

    </body>
</html>

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.