Bom Dia pessoal, estou reestruturando um projeto antigo para o Modelo
MVC.... Comecei tudo bem, digitava o login e senha e autenticava certo e
entrava no Home, então tive a necessidade de fazer umas alterações
devido aos extends que necessitei então, não sei porque, começou a
apresentar:
Não
entendi porque, pois estava funcionando, mas creio que não esteja
conseguindo realizar a conexão por isso está vazio, mas tento desde
ontem a noite e não consegui resolver. Vou apresentar a baixo como está
meu código:
PS.: O que está apresentado não é todo o código de cada arquivo... Só postei o que achei necessário para entenderem o problema.
=============================
// MainVar.class.php - Variáveis do Sistema( para pegar em qualquer arquivo )class MainVar {
var $DBName = 'dbName';
var $DBServer = 'localhost';
var $DBUser = 'root';
var $DBPassword = '';
{ ..... }
}
=============================
=============================
// Conexao.class.php - Classe de Conexao
class Conexao extends MainVar {
public function __construct(){
}
public function Connect(){
$mysqli = mysqli_connect($this->DBServer, $this->DBUser, $this->DBPassword, $this->DBName);
if(mysqli_connect_errno()){
trigger_error('Erro ao tentar conectar ao banco de dados! '.$mysqli->error,E_USER_ERROR);
}
$mysqli->autocommit(false);
mysqli_query($mysqli, "SET NAMES 'utf8'");
mysqli_query($mysqli, 'SET character_set_connection=utf8');
mysqli_query($mysqli, 'SET character_set_client=utf8');
mysqli_query($mysqli, 'SET character_set_results=utf8');
return $mysqli;
}
}
=============================
=============================
// logar.php
require_once('Config/MainVar.
class.php');
require_once('Config/Conexao.class.php');
require_once('Libs/Funcoes.class.php');
require_once('Controller/LoginController.php');
if($_GET['acessar'] == 'acessar'){
$LoginController = new LoginController();
$login = $_POST['login'];
$senha = $_POST['senha'];
// Tenta logar o usuário com os dados
if($LoginController->ValidaUsuario($login, $senha)){
// Usuário logado com sucesso, redireciona ele para a página restrita
header("Location: index.php");
exit;
}
}
=============================
=============================
// LoginController.php
require_once('Model/LoginModel.php');class LoginController extends LoginModel{
private $LoginModel;
private $Funcoes;
public function __construct(){
$this->Funcoes = new Funcoes();
}
public function ValidaUsuario($login, $senha){
if($senhaCodificada = $this->Funcoes->CodificaSenha($login, $senha)){
// Chamo o ValidaUsuario de LoginModel $total = parent::ValidaUsuario($login, $senhaCodificada);
return ($total == 1) ? true : false;
}
}
=============================
=============================
// LoginModel.php
class LoginModel extends Conexao{
private $mysqli;
public function __construct(){
$this->mysqli = parent::Connect();
}
public function ValidaUsuario($login, $senha){
$sql = "SELECT COUNT(*) AS total
FROM tabela_usuarios
WHERE login = ? AND senha = ?";
if($query = mysqli_prepare($this->mysqli, $sql)){
O PROBLEMA É QUE AQUI NÃO ENTRA MAIS!!!!! /* ADICIONA OS PARÂMETROS */
mysqli_stmt_bind_param($query, "ss",
$login,
$senha);
/* ADICIONA OS PARAMETROS */
if(mysqli_stmt_execute($query)){
mysqli_stmt_bind_result($query,$total);
if(mysqli_stmt_fetch($query)){
return $total;
}
}
}
}
=============================
Então, aí está a dificuldade:
if($query = mysqli_prepare($this->mysqli, $sql)){$this->mysqli deve(acho) está vazia como informa o
Warning.
Como posso testar e consequentemente resolver... Como faço??? Estou perdido, OMG!!!
Agradeço antecipadamente pelas dicas!!!