Worn 1 Denunciar post Postado Outubro 15, 2016 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; } } Compartilhar este post Link para o post Compartilhar em outros sites
LaerteDias 17 Denunciar post Postado Outubro 15, 2016 olha esse link: https://www.vivaolinux.com.br/topico/PHP/Como-resolvo-isso-Warning-Missing-argument-1 Obs: o objeto login não pode ser convertido em inteiro e o que diz erro 32 Compartilhar este post Link para o post Compartilhar em outros sites