Ai minha função esta retornando vazio, mas não era pra retornar vazio, ela deveria retornar true ou false
codigo abaixo:
MySQL.php
<?php
// CLASSE USADA PARA CONECATAR AO SERVIDOR E BANCO DE DADOS
class MySQL {
// VARIAVEIS PARA CONEXÃO COM O SERVIDOR E BANCO DE DADOS
private static $server = "localhost";
private static $usuario = "root";
private static $senha = "";
private static $banco = "SuperLojaPHP";
// FUNÇÃO PARA CONECTAR-SE AO SERVIDOR E BANCO
public function conecta() {
$msgErroServer = "Erro ao conectar com o servidor.<br>".mysql_error();
// conecta no servidor
$conn = mysql_connect(self::$server,self::$usuario,self::$senha) or die($msgErroServer);
$msgErroDB = "Erro ao conectar-se com o banco.<br>".mysql_error();
// conecta no banco
mysql_select_db(self::$banco,$conn) or die($msgErroDB);
// retorna conexão com o servidor
return $conn;
}
// FUNÇÃO QUE DESCONECTA DO SERVIDOR
public function desconecta($var) {
// fecha a conexão informada com o servidor
return mysql_close($var);
}
// FUNÇÃO QUE RETORNA A QUERY E O NUMERO DE REGISTROS
// ENCONTRADOS, E PASSA PARA UM ARRAY
public function query($sql) {
// faz a query no sql informado
$query = mysql_query($sql);
// conta quantos registros foram encontrados
$num = mysql_num_rows($query);
// passa para um array e retorna esse array na função
$arr = array($query,$num);
return $arr;
}
}
?>
LoginAdmin.php
<?php
// CLASSE PARA EFETUAR O LOGIN DO ADMINISTRADOR
class LoginAdmin extends MySQL {
// FUNÇÃO QUE EFETUA O LOGIN
public function logar($login,$senha) {
// chama a função "conecta()" da classe "MySQL"
// para abrir conexão com o banco
$conecta = parent::conecta();
// faz consulta para verificar se o login existe
$sql = "SELECT * FROM slp_admin WHERE Login='".strtolower($login)."'";
// chama a função que vai fazer a consulta da validade do login
// a função "verificaLogin()" da classe "LoginAdmin"
$vLogin = self::verificaLogin($sql);
// verifica se é verdadeiro
if(!$vLogin) {
// se o login não exitir mostra uma msg de erro
$msg = "Login invalido.";
header("Location: index.php?msg=".urlencode($msg));
} else {
// se o login existir chama a função "verificaSenha()"
// da classe "LoginAdmin" para verificar a senha do administrador
$vSenha = self::verificaSenha($senha,$sql);
// verifica se é verdadeiro
if(!$vSenha) {
// se a senha estiver errada mostra uma msg de erro
$msg = "Senha invalida.";
header("Location: index.php?msg=".urlencode($msg));
} else {
// se a senha estiver correta chama a função "validaAtividade()"
// da classe "LoginAdmin"
$vEstado = self::validaAtividade($sql);
// verifica se é verdadeiro
if(!$vEstado) {
// se a conta do administrador não estiver ativada mostra
// uma msg de erro
$msg = "Você esta desativado.";
$msg += "\nConsequentemente não podera acessar esta sessão.";
header("Location: index.php?msg=".urlencode($msg));
} else {
// se a conta do administrador estiver ativada
// chama a função "criaSessao()" da classe "LoginAdmin"
// para criar a sessão do administrador e redirecionar
// para a página de administração
self::criaSessao(strtolower($login),$senha);
}
}
}
// chama a função "desconecta()" da classe "MySQL"
// para fechar a conexão com o banco
parent::desconecta($conecta);
} // FECHA->logar()
// FUNÇÃO VALIDA SESSION ADMINISTRADOR
public function validaSessao($sLogin,$sSenha) {
// chama a função "conecta()" extendida da classe "MySQL"
// para abrir a conexão com o servidor e o banco
$conect = parent::conecta();
// verifica se existem as sessões passadas na chamada da função
if(!(isset($sLogin) and isset($sSenha))) {
// se não existir redireciona para a página de login
$msg = "Você não esta logado1.";
header("Location: index.php?msg=".urlencode($msg));
exit();
} else {
// caso exista atribui apara as variaveis
$login = $sLogin;
$senha = sSenha;
// verifica se as variaveis estão vazias
if(empty($login) and empty($senha)) {
// caso não estejão redireciona para a página de login
$msg = "Você não esta logado2.";
header("Location: index.php?msg=".urlencode($msg));
exit();
} else {
// se estiverem atribuidas as variaveis verifica se o login esta
// correto e consta na lista de administradores
$sql = "SELECT * FROM slp_admin WHERE Login='".strtolower($login)."'";
// chama a função "verificaLogin();" da classe "LoginAdmin"
$vLogin = self::verificaLogin($sql);
// verifica se o retorno dela e verdadeiro
if(!$vLogin) {
// se o login for falso apaga as sessões que existem
// e redireciona para a página de login
unset($_SESSION['loginAdmin']);
unset($_SESSION['senhaAdmin']);
$msg = "Você não esta logado3.";
header("Location: index.php?msg=".urlencode($msg));
exit();
} else {
// se o login estiver correto verifica a senha do administrador
// chama a função "verificaSenha()" da classe "LoginAdmin"
$vSenha = self::verificaSenha($senha,$sql);
// verifica se o retorno é verdadeiro
if(!$vSenha) {
// se a senha estiver errada apaga as sessões existentes
// e redireciona para a página de login
unset($_SESSION['loginAdmin']);
unset($_SESSION['senhaAdmin']);
$msg = "Você não esta logado4.";
header("Location: index.php?msg=".urlencode($msg));
exit();
} else {
// se a senha estiver correta verifica se o administrador
// esta com a conta ativada
// chama a função "validaAtividade()" da classe "LoginAdmin"
$vEstado = self::validaAtividade($sql);
// verifica se é verdadeiro
if(!$vEstado) {
// se o retorno for falso apaga as sessões que existem
// e redireciona para a pagina de login
unset($_SESSION['loginAdmin']);
unset($_SESSION['senhaAdmin']);
$msg = "Sua conta esta desativada.";
$msg += "\nPeça para o administrador principal ativala.";
header("Location: index.php?msg=".urlencode($msg));
exit();
}
}
}
}
}
// chama a função "desconecta()" extendida da classe "MySQL"
// para fechar a conexão com o servidor
parent::desconecta($conect);
} // FECHA->validaSessao()
// FUNÇÃO QUE VERIFICA SE O LOGIN DIGITADOR EXISTE
private function verificaLogin($sql) {
// chama a função "query()" da classe "MySQL"
// que retorna um array com o resultado da query e
// o numero de registros encontrados
$num = parent::query($sql);
// verifica se o numero de registros encontrados
// e maior que zero
if($num[1] > 0) {
// se for maior retorna true
return true;
} else {
// se for manor retorna false
return false;
}
} // FECHA->verificaLogin()
// FUNÇÃO QUE VERIFICA SE A SENHA DIGITADA É VALIDA
private function verificaSenha($senha,$sql) {
// chama a função "query()" da classe "MySQL"
// que retorna um array com o resultado da query e
// o numero de registros encontrados
$query = parent::query($sql);
// pega o resultado da query e fas um fetch_object
$num = mysql_fetch_object($query[0]);
// pega a Senha do administrador
$senhaDB = $num->Senha;
// converte a senha que vem do form em md5
$senhaMd5 = md5($senha);
// compara as senhas para ver se estão iguais
if($senhaDB == $senhaMd5) {
// retorna true se estiverem iguais
return true;
} else {
// retorna falso se estiverem diferentes
return false;
}
} // FECHA->verificaSenha()
// FUNÇÃO QUE CRIA A SESSÃO DO ADMINISTRADOR
// E REDIRECIONA PARA A AREA DE ADMINISTRAÇÃO
private function criaSessao($login,$senha) {
// inicializa a sessão
@session_start();
// passa os valores vindos do form
// para as sessões
$_SESSION['loginAdmin'] = $login;
$_SESSION['senhaAdmin'] = $senha;
// verifica se foram criada as sessões
if(isset($_SESSION['loginAdmin']) and isset($_SESSION['senhaAdmin'])) {
// se foram criadas redireciona para a página de administração
header("Location: index2.php");
} else {
// se não foram informa uma msg de erro
$msg = "Sessão não criada.";
header("Location: index.php?msg=".urlencode($msg));
}
} // FECHA->criaSessao()
// FUNÇÃO PARA DESLOGAR A SESSÃO
public function deslogar() {
// inicialisa a sessão
@session_start();
// passa um array vazio para a sessão
$_SESSION[''] = array();
// apaga todas as sessões
session_destroy();
// redireciona para a página de login
header("Location: index.php");
} // FECHA->deslogar()
// FUNÇÃO PARA VERIFICAR SE O ADMINISTRADOR
// ESTA ABILITADO COMO ATIVO
private function validaAtividade($sql) {
// chama a função "query()" da classe "MySQL"
// que retorna um array com o resultado da query e
// o numero de registros encontrados
$query = parent::query($sql);
// faz um fetch_object no resultado da query
$num = mysql_fetch_object($query[0]);
// pega o valor da Atividade da conta
// do administrador
$val = $num->Atividade;
// verifica se o estado é igual a 1 se for
// a conta esta ativada
if($num == 1) {
// se for verdadeiro retorna true
return true;
} else {
// se for falso retorna false
return false;
}
} // FECHA-> validaAtividade()
} // FECHA->CLASSE
?>
eu queria saber porque ta acontecendo isso aqui, já tentei quase tudo aqui mas continua isso.
a função que eu me refiro la no topo é função "verificaSenha()" da classse "LoginAdmin".
eu chamo ela duas vezes uma na função "logar()" nessa ocorre tudo bem
Pergunta
Diego.G.A
Ai minha função esta retornando vazio, mas não era pra retornar vazio, ela deveria retornar true ou false
codigo abaixo:
MySQL.php
LoginAdmin.phpeu queria saber porque ta acontecendo isso aqui, já tentei quase tudo aqui mas continua isso.
a função que eu me refiro la no topo é função "verificaSenha()" da classse "LoginAdmin".
eu chamo ela duas vezes uma na função "logar()" nessa ocorre tudo bem
mas na "validaSessao()" é onde ta dando o erro!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.