utilização de Classe para conexão ao MySQL
Galera, tenho uma dúvida simples. Possu duas classses, uma para efetuar a conexão ao mySQL:
class Conexao
{
# Dados para conexão com o Banco de Dados do Sistema
private static $instance = null;
private static $host = "localhost";
private static $user = "root";
private static $pass = "";
private static $dbname = "rankingdastorcidas";
# Conexão ao Banco de Dados
public static function getInstance()
{
if(!isset(self::$instance)):
try {
self::$instance = new PDO('mysql:host=' . self::$host . ';dbname=' . self::$dbname, self::$user, self::$pass);
} catch (PDOException $erro) {
echo "Ocorreu um erro ao conectar-se com o Banco de Dados do Sistema! <br>";
echo $erro->getMessage();
}
endif;
return self::$instance;
}
# Fecha a Conexão com o Banco de Dados
public static function closeConexao()
{
if(!is_null(self::$instance)):
self::$instance = null;
endif;
}
}
E tenho outra classe para efetuar o login do usuário:
class Logar
{
private $Tabela;
private $CampoLogin;
private $CampoSenha;
public $LoginUsuario;
public $SenhaUsuario;
public $MsgErro;
/* Método para construção dos parametros da classe */
public function __construct($Tabela, $CampoLogin, $CampoSenha, $MsgErro)
{
$this->Tabela = $Tabela;
$this->CampoLogin = $CampoLogin;
$this->CampoSenha = $CampoSenha;
$this->MsgErro = $MsgErro;
}
/* Método para fazer o login do usuário no sistema */
public function usuarioLogin($Login, $Senha)
{
$this->LoginUsuario = $Login;
$this->SenhaUsuario = $Senha;
# Verifica se existe o usuário informado
$Consult = $db->prepare("SELECT " . $this->CampoLogin . ", " . $this->CampoSenha . " WHERE " . $this->CampoLogin ." = " . $this->LoginUsuario . " AND " . $this->CampoSenha . " = " . $this->SenhaUsuario . " LIMIT 0,1");
$Consult->execute();
$Result = $Consult->rowCount();
if($Result != 0):
# Inicia a Sessão
session_start();
# Salva os dados do usuário em um Array
$Dados = $Consult->fetch(PDO::FETCH_ASSOC);
# Define as Sessions do usuário
$_SESSION['Usuario'] = $Dados['nome'];
# Salva os dados para efetuar o registro do LOG
$Nome = $Dados['nome'];
$Email = $Dados['email'];
$Data = date("d/m/Y");
$Hora = date("H:i:s");
$Ip = $_SERVER['REMOTE_ADDR'];
# Insere o LOG
$Insert = $db->prepare("INSERT INTO log_usuarios(
nome,
email,
data,
hora,
ip) VALUES (
:nome,
:email,
:data,
:hora,
:ip)");
$Insert->bindParam(':nome', $Nome, PDO::PARAM_STR);
$Insert->bindParam(':email', $Emai, PDO::PARAM_STR);
$Insert->bindParam(':data', $Data, PDO::PARAM_STR);
$Insert->bindParam(':hora', $Hora, PDO::PARAM_STR);
$Insert->bindParam(':ip', $Ip, PDO::PARAM_STR);
$Insert->execute();
# Efetua o login do usuário no sistema
header('Location: ../dashboard.php');
else:
# Retorna Erro ao usuário
return $this->MsgErro;
endif;
}
/* Método para verificar se o usuário já esta conectado ao sistema */
public function verificarUsuario()
{
if(isset($_SESSION['Usuario'])):
return true;
else:
return false;
header('Location: ../conheca.php');
endif;
}
}
Minha dúvida é como instanciar o getInstance() da classe MySQL dentro da classe LOGIN!
Já tentei diversas formas e não vai ..
Discussão (3)
Carregando comentários...