Conectar level
Olá galera estou elaborando um sistema aqui, mais estou com um probleminha na parte do login bem. Queria colocar que usuários com nivel 2 ou maior que 2 ou seja 3 conseguisse logar no painel porém não estou conseguindo efetuar essa ação veja como ta;
$login = new Login (3);
eu tentei colocar assim
$login = new Login >= 3;
porém acusa isso
Login.class.php
Erro na Linha: #16 :: Missing argument 1 for Login::__construct(), called in C:\wamp64\www\lento\painel.php on line 32 and defined
Erro na Linha: #17 :: Undefined variable: Level
painel.php
Erro na Linha: #32 :: Object of class Login could not be converted to int
login.php
$login = new Login (3);
$dataLogin = filter_input_array(INPUT_POST, FILTER_DEFAULT);
if (!empty($dataLogin['AdminLogin'])):
$login->ExeLogin($dataLogin);
if (!$login->getResult()):
JVErro($login->getError()[0], $login->getError()[1]);
else:
header('Location: painel.php');
endif;
endif;
$get = filter_input(INPUT_GET, 'exe', FILTER_DEFAULT);
if (!empty($get)):
if ($get == 'restrito'):
JVErro('<b>Oppsss:</b> Acesso negado. Favor efetue login para acessar o painel!', JV_ALERT);
elseif ($get == 'logoff'):
JVErro('<b>Sucesso ao deslogar:</b> Sua sessão foi finalizada. Volte sempre!', JV_ACCEPT);
endif;
endif;
login.class.php
<?php
class Login {
private $Level;
private $Email;
private $Senha;
private $Error;
private $Result;
/**
* <b>Informar Level:</b> Informe o nível de acesso mínimo para a área a ser protegida.
* @param INT $Level = Nível mínimo para acesso
*/
function __construct($Level) {
$this->Level = (int) $Level;
}
public function ExeLogin(array $UserData) {
$this->Email = (string) strip_tags(trim($UserData['user']));
$this->Senha = (string) strip_tags(trim($UserData['pass']));
$this->setLogin();
}
public function getResult() {
return $this->Result;
}
public function getError() {
return $this->Error;
}
public function CheckLogin() {
if (empty($_SESSION['userlogin']) || $_SESSION['userlogin']['user_level'] < $this->Level):
unset($_SESSION['userlogin']);
return false;
else:
return true;
endif;
}
/*
* ***************************************
* ********** PRIVATE METHODS **********
* ***************************************
*/
//Valida os dados e armazena os erros caso existam. Executa o login!
private function setLogin() {
if (!$this->Email || !$this->Senha || !Check::Email($this->Email)):
$this->Error = ['Informe seu E-mail e senha para efetuar o login!', JV_INFOR];
$this->Result = false;
elseif (!$this->getUser()):
$this->Error = ['Os dados informados não são compatíveis!', JV_ALERT];
$this->Result = false;
elseif ($this->Result['user_level'] < $this->Level):
$this->Error = ["Desculpe {$this->Result['user_name']}, você não tem permissão para acessar esta área!", JV_ERROR];
$this->Result = false;
else:
$this->Execute();
endif;
}
//Verifica usuário e senha no banco de dados!
private function getUser() {
$this->Senha = md5($this->Senha);
$read = new Read;
$read->ExeRead("user_pj", "WHERE user_email = :e AND user_password = :p", "e={$this->Email}&p={$this->Senha}");
if ($read->getResult()):
$this->Result = $read->getResult()[0];
return true;
else:
return false;
endif;
}
//Executa o login armazenando a sessão!
private function Execute() {
if (!session_id()):
session_start();
endif;
$_SESSION['userlogin'] = $this->Result;
$this->Error = ["Olá {$this->Result['user_name']}, seja bem vindo(a). Aguarde redirecionamento!", JV_ACCEPT];
$this->Result = true;
}
}Discussão (1)
Carregando comentários...