Ir para conteúdo

POWERED BY:

Arquivado

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

TheNight

Conexão com duas index...

Recommended Posts

Seguinte galera não sei se vou saber explicar corretamente...

 

Eu tenho um site, onde eu tenho a extrutura:

 

 

KrutR9A.png

 

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

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

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);

Wjiyzer.png

RnpNFWg.pngyPQOSp8.png

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.