Ir para conteúdo

Arquivado

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

juliocesarpt

[Resolvido] Me ajudem, não sei mais o que fazer!

Recommended Posts

Fatal error: Class 'Config' not found in C:\xampp\htdocs\loja\model\Conexao.class.php on line 3

 

Sou novo na área, estou seguindo um tutorial no youtube, só que parei nessa parte e não consigo resolver de jeito nenhum, vou colocar algumas telas, pode ser que ajude na descoberta  do erro!

Config.class.php

<?php

Class config{

	// INFORMAÇÕES BÁSICAS DO SITE
	const SITE_URL = "http://localhost";
	const SITE_PASTA = "loja";
	const SITE_NOME = "Loja do Julio - PHP 7 e Mysqli";
	const SITE_EMAIL_ADM = "juliopt78@gmail.com";


	//INFORMAÇÕES DO BANCO DE DADOS
	const BD_HOST = "localhost",
		   BD_USER = "root",
		   BD_SENHA = "",
		   BD_BANCO = "lojajulio",
		   BD_PREFIX = "";
		  
   
   //INFORMAÇÕES PARA PHP MAILLER
   const EMAIL_HOST = "smtp.gmail.com";
   const EMAIL_USER = "juliopt78@gmail.com";
   const EMAIL_NOME = "Contato Loja Julio";
   const EMAIL_SENHA = "";
   const EMAIL_PORTA = 587;
   const EMAIL_SMTPAUTH = true;
   const EMAIL_SMTPSECURE = "tls";
   const EMAIL_COPIA = "juliopt78@gmail.com";


   //CONSTANTES PARA O PAGSEGURO
   const PS_EMAIL = ""; //email pagseguro
   const PS_TOKEN = ""; //token produção
   const PS_TOKEN_SBT = ""; //token do sandbox
   const PS_AMBIENTE = ""; //production sandbox


}

 ?>
index.php

<?php

require './lib/autoload.php';


$smarty = new Template();
$categorias = new Categorias();
$categorias->GetCategorias();


//valores para o template
$smarty->assign('NOME', 'JULIO CESAR DOS SANTOS');
$smarty->assign('GET_TEMA', Rotas::get_SiteTEMA());
$smarty->assign('GET_HOME', Rotas::get_SiteHOME());
$smarty->assign('PAG_CARRINHO', Rotas::pag_Carrinho());
$smarty->assign('PAG_CONTATO', Rotas::pag_Contato());
$smarty->assign('PAG_MINHACONTA', Rotas::pag_MinhaConta());
$smarty->assign('PAG_SOBRE', Rotas::pag_Sobre());
$smarty->assign('PAG_PRODUTOS', Rotas::pag_Produtos());
//Ainda não sei como fazer!!!
//$smarty->assign('PAG_CADASTRO', Rotas::pag_Cadastro());
$smarty->assign('TITULO_SITE', Config::SITE_NOME);
$smarty->assign('CATEGORIAS', $categorias->GetItens());




$smarty->display('index.tpl');
 ?>
Citar

Categorias.class.php

<?php 

Class Categorias extends Conexao{

	private $cate_id, $cate_nome, $cate_slug;


	function __construct(){
		parent::__construct();
	}

	function GetCategorias(){
		//query para busca os produtos de uma categoria específica.
		$query = "SELECT * FROM categorias";

		$this->ExecuteSQL($query);

		$this->GetLista();

	}

	private function GetLista(){
		$i = 1;
		while($lista = $this->ListarDados()):
		$this->itens[$i] = array(
			'cate_id' => $lista['cate_id'],
			'cate_nome' => $lista['cate_nome'],
			'cate_slug' => $lista['cate_slug'],
			'cate_link' => Rotas::pag_Produtos(). '/' .$lista['cate_id'] . '/' . $lista['cate_slug']  ,		
			);

		$i++;
		endwhile;
	}	


}
 
 ?>

 

Rotas.class.php

<?php

Class Rotas extends config{

	public static $pag;
	private static $pasta_controller = 'controller';
	private static $pasta_view = 'view';


	
	static function get_SiteHOME(){
		return Config::SITE_URL . '/' .Config::SITE_PASTA;
	}

	static function get_SiteRAIZ(){
		return $_SERVER['DOCUMENT_ROOT'] . '/' .config::
			SITE_PASTA;
	}

	static function get_SiteTEMA(){
		return self::get_SiteHOME(). '/' .self::$pasta_view;
	}

	static function pag_Carrinho(){
		return self::get_SiteHOME(). '/carrinho';
	}

	static function pag_Produtos(){
	return self::get_SiteHOME(). '/produtos';
	}

	static function pag_ProdutosInfo(){
	return self::get_SiteHOME(). '/produtos_info';
	}

	static function pag_Contato(){
		return self::get_SiteHOME(). '/contato';
	}

	static function pag_MinhaConta(){
		return self::get_SiteHOME(). '/minhaconta';
	}

	static function get_ImagePasta(){
		return 'media/images/';
	}

	static function get_ImageURL(){
		return self::get_SiteHOME() .'/' .self::get_ImagePasta();
	}

	static function ImageLink($img, $largura, $altura){
		$imagem = self::get_ImageURL() . "thumb.php?src={$img}&w={$largura}&h={$altura}&zc=1";

		return $imagem;
	}

	static function pag_Sobre(){
		return self::get_SiteHOME(). '/sobre';
	}

	//Ainda não sei como fazer!!!

	//static function pag_Cadastro(){
	//	return self::get_SiteHOME(). '/cadastro';
	//}

	static function get_Pagina(){
		if(isset($_GET['pag'])){

			$pagina = $_GET['pag'];

			self::$pag = explode('/', $pagina);
			
			//echo '<pre>';
			//var_dump(self::$pag);
			//echo '</pre>';

			$pagina = 'controller/' .self::$pag[0] . '.php';
			//$pagina = 'controller/' .$_GET['pag'] . '.php';
		
		
			if(file_exists($pagina)){
				include $pagina;
			}else{
			include 'erro.php';
		}

		}
	}
}

?>

 

Conexao.class.php

<?php

Class Conexao extends Config{
	private $host, $user, $senha, $banco;

	protected $obj, $itens=array(), $prefix;

	function __construct(){
		$this->host = self::BD_HOST;
		$this->user = self::BD_USER;
		$this->senha = self::BD_SENHA;
		$this->banco = self::BD_BANCO;
		$this->prefix = self::BD_PREFIX;

		try {
			if($this->Conectar() == null){
				$this->Conectar();
			}
            

		} catch (Exception $e) {
			exit($e->getMessage().'<h2> Erro ao conectar com o banco de dados! </h2>');
		}

	}

	private function Conectar(){
		$options = array(
			PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
			PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING
			);
		$link = new PDO("mysql:host={$this->host};dbname={$this->banco}" , 
		$this->user, $this->senha, $options);
		return $link; 
	}


	function ExecuteSQL($query, array $params = NULL){
		$this->obj = $this->Conectar()->prepare($query);
		return $this->obj->execute();
	}

	function ListarDados(){
		return $this->obj->fetch(PDO::FETCH_ASSOC);
	}


	//function TotalDados(){
		//return $this->obj->rowCount();
	//}

	function GetItens(){
		return $this->itens;
	}


}


?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php

require_once("pasta/onde/esta/config.php");

Class Conexao extends Config{
[...]
}

O arquivo não ta encontrando a Config pra poder fazer o extends, tem que usar o require/include ou algum namespace.

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 minutos atrás, BrunoBit disse:

<?php

require_once("pasta/onde/esta/config.php");

Class Conexao extends Config{
[...]
}

O arquivo não ta encontrando a Config pra poder fazer o extends, tem que usar o require/include ou algum namespace.

Boa tarde bruno, como faço isso, me ajuda... O endereço eu me baseio por onde? Será que essa foto ajuda?

a.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, BrunoBit disse:

require_once("Config.class.php");

Class Conexao extends Config{
[...]
}

Testa aí pra gente ver.

Apareceu isso agora!

 

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)

Erro ao conectar com o banco de dados!

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 minutos atrás, BrunoBit disse:

Agora você precisa usar os dados corretos pra poder conectar no banco de dados.

Consegui Bruno, muito obrigado, você é o cara, sei que parece simples para você, mas para mim foi algo difícil!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, está dando erros pois, não fez corretamente o autoload das class, e não setou as configurações do banco de dados.

Todas as configurações deste projeto ai, que é da loja php são mostrados no curso completo com mais de 200 videos, que foi criado por mim mesmo = 

https://www.youtube.com/playlist?list=PLq-sApY8QuycUZsoAZD-LKyV5BWueQDgu

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.