public function executa() { if (!isset($_POST['username'])) { echo '<script>alert("Nome de usuario ou senha incorretos"); window.history.go(-1);</script>'; exit; } $usuario = $_POST['username']; $senha = $_POST['password']; $redireciona = $_POST['redireciona'] == '' ? 'perfil' : $_POST['redireciona']; $dao = new SessaoDAO(); $id = $dao->validaLogin($usuario, $senha); if ($id == 0) { echo '<script>alert("Nome de usuario ou senha incorretos"); window.history.go(-1);</script>'; } else { $daoP = new PessoaDAO(); $pessoa = $daoP->carrega($id); $nomeCompleto = $pessoa->get_nome(); $separaNome = explode(' ', $nomeCompleto); $nome = $separaNome[0]; $opcao = 'pessoa'; $_SESSION[$opcao]['id'] = $pessoa->get_id(); $_SESSION[$opcao]['nome'] = $nome; $_SESSION[$opcao]['nomeCompleto'] = $nomeCompleto; $_SESSION[$opcao]['login'] = $pessoa->get_login(); $_SESSION[$opcao]['email'] = $pessoa->get_email(); $_SESSION[$opcao]['sexo'] = $pessoa->get_sexo(); $_SESSION[$opcao]['contrato'] = $daoP->getContrato($pessoa->get_id()); $foto = $this->getBaseUrl(); $fotoOriginal = $foto; $foto .= $pessoa->get_foto() != '' ? $pessoa->get_foto() : 'assets/img/avatar.png'; $fotoOriginal .= $pessoa->get_fotoOriginal() != '' ? $pessoa->get_fotoOriginal() : 'assets/img/avatar.png'; $_SESSION[$opcao]['foto'] = $foto; $_SESSION[$opcao]['fotoOriginal'] = $fotoOriginal; $dao->deslogaContas($id, $opcao); $ip = $_SERVER['REMOTE_ADDR']; $userAgent = $_SERVER['HTTP_USER_AGENT']; $sessao = new Sessao(); $sessao->set_idOpcao($id); $sessao->set_opcao($opcao); $sessao->set_ip($ip); $sessao->set_idSessao(session_id()); $sessao->set_userAgent($userAgent); $sessao->set_dataLogin(date('Y-m-d H:i:s')); $sessao->set_dataLogout(null); $idLog = $dao->loga($sessao); $_SESSION[$opcao]['idlog'] = $idLog; $dao->visualizaPagina($idLog, 'loga'); header('Location: ' . $redireciona); } }
public function loga($usuario, $senha) { $id = $this->dao->loga($usuario, $senha); $continua = false; if ($id > 0) { $pDAO = new PessoaDAO(); $pessoa = $pDAO->carrega($id); $this->idSessao = session_id(); $this->opcao = 'pessoa'; $this->idOpcao = $id; $nomeCompleto = $pessoa->get_nome(); $separa = explode(' ', $nomeCompleto); $nome = $separa[0]; $this->nome = $nome; $this->nomeCompleto = $nomeCompleto; $this->login = $usuario; $this->email = $pessoa->get_email(); $continua = true; } return $continua; }