TheNight 1 Denunciar post Postado Abril 21, 2015 Seguinte galera não sei se vou saber explicar corretamente... Eu tenho um site, onde eu tenho a extrutura: Até ai tranquilo, abri a conexão com o seguinte código (Vou postar todos arquivos são 3 inteiros): Arquivo: modules/class/mysql.class.php <?php //access denied $pagerequest = strtolower(basename($_SERVER['REQUEST_URI'])); $pagearquive = strtolower(basename(__FILE__)); if($pagerequest == $pagearquive) { exit('<div style="font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 14px;color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;"><b>Error:</b> You do not have permission to access this file directly.</div>'); } if(class_exists('MySQL') == false) { class MySQL { private $connect; public function MySQL_Open() { $this->Connection(); if(connection_aborted() == true) { $this->$Connection(); } } private function Connection() { global $Config; $this->connect = @mysqli_connect($Config['MySQL']['HostName'], $Config['MySQL']['UserName'], $Config['MySQL']['Password'], $Config['MySQL']['Prefix'].$Config['MySQL']['Database']); if($this->connect == false) { exit('<div style="font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 14px;color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;"><b>MySQL Error:</b> Could not connect to MySQL, make sure "<b>modules/config.php</b>" is correct.</div>'); return false; } @mysqli_set_charset($this->connect, $Config['MySQL']['Charset']) or die('<div style="font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 14px;color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;"><b>MySQL Error:</b> Charset <b>'.$Config['MySQL']['Charset'].'</b> is not a valid selection.</div>'); //charset database return true; } private function MySQL_Log($SQL_Log, $Command) { @mkdir("modules/logs"); if(!file_exists("modules/logs/mysql_log".date('d-m-Y').".htm")) { $Creat = @fopen("modules/logs/mysql_log".date('d-m-Y').".htm", "a+"); } $Log .= "• Date: <strong>".date("d/m/Y")."</strong><br />\n"; $Log .= "• Hour: <strong>".date("H:i:s")."</strong><br />\n"; $Log .= "• Time: <strong>".time()."</strong><br />\n"; $Log .= "• Recent IP Detected: <strong>".$_SERVER["REMOTE_ADDR"]."</strong><br />\n"; $Log .= "• File Error: <strong>".__FILE__."</strong><br />\n"; $Log .= "• Request: <strong>".$_SERVER["REQUEST_URI"]."</strong><br />\n"; $Log .= "• Command Fail: <strong>".$Command."</strong><br />\n"; $Log .= "• Exec: <strong>".$SQL_Log."</strong><br />\n"; $Log .= "==============================================================================================================<br />\n"; $Log_File = @fopen("modules/logs/mysql_log".date('d-m-Y').".htm", "a"); @fwrite($Log_File, $Log); @fclose($Log_File); } public function MyQuery($query) { global $Config; $MyQuery = @mysqli_query($query); if($MyQuery == false) { if($Config['MySQL']['LogGenerator'] == TRUE) { $this->MySQL_Log($query, "query"); } exit('<div style="font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 14px;color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;"><b>MySQL Error:</b> Could not execute the query <b>'.$query.'</b>.</div>'); } return $query; // return value on query } } } ?> Fiz também uma função para auto carregar as classes Arquivo: modules/load.inc.php <?php //access denied $pagerequest = strtolower(basename($_SERVER['REQUEST_URI'])); $pagearquive = strtolower(basename(__FILE__)); if($pagerequest == $pagearquive) { exit('<div style="font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 14px;color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;"><b>Error:</b> You do not have permission to access this file directly.</div>'); } function __autoload($class) { $path = "modules/class/".$class.".class.php"; if(file_exists($path)) { require_once($path); } else { die('<div style="font-family: Helvetica Neue,Helvetica,Arial,sans-serif; font-size: 14px;color: #a94442; background-color: #f2dede; border-color: #ebccd1; padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;"><b>Erro:</b> O arquivo "<b>'.$class.'.class.php</b>" não existe no diretório "<b>modules/class</b>".</div>'); } } $MySQL = new MySQL(); $MySQL->MySQL_Open(); ?> Só que quando eu eu tento adicionar esta linha: require_once('../modules/load.inc.php'); no meu arquivo pages/register.php me retorna erro, falando que a class não existe! no meu index.php (principal) Fiz assim: <?php include("modules/config.php"); include("modules/load.inc.php") ?> Por que galera? sou meio nubão ainda, eu já fiz a função pra auto carregar as classes pra eu não ter que ficar adicionando uma por uma no arquivo include... e agora fica me retornando este miserável erro... Bom galera não sei se eu consegui explicar, eu ia fazer em vídeo mas estou sem micro... Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Abril 21, 2015 Carregue os arquivos pelo path absoluto define( 'DS', DIRECTORY_SEPARATOR ); require_once(dirname(__DIR__) . DS . 'modules'. DS .'load.inc.php'); Entenda o que é dirname Compartilhar este post Link para o post Compartilhar em outros sites
TheNight 1 Denunciar post Postado Abril 22, 2015 Carregue os arquivos pelo path absoluto define( 'DS', DIRECTORY_SEPARATOR ); require_once(dirname(__DIR__) . DS . 'modules'. DS .'load.inc.php'); Williams Duarte, continuo tendo problemas :( nunca tinha acontecido isso comigo eu pensava que se eu criar uma função auto load ele pegava em todos os arquivos, ta difícil de resolver 3 Imagens: Obs: quando eu fiz dessa forma pra site de mu online eu apenas adicionava os diretorios no index principal e desta vez não está dando certo... Meu arquivo config.php: # Do not change define( 'DS', "/", true ); define('BASE_PATH',realpath(dirname(__FILE__)).DS,true); Compartilhar este post Link para o post Compartilhar em outros sites