-
Notifications
You must be signed in to change notification settings - Fork 1
/
login.php
62 lines (46 loc) · 1.75 KB
/
login.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
require __DIR__ . '/vendor/autoload.php';
use \App\Entity\Usuario;
use \App\Session\Login;
// OBRIGA O USUÁRIO A ESTAR DESCONECTADO
Login::requireLogout();
// MENSAGENS DE ALERTA DOS FORMULARIOS
$alertaLogin = '';
$alertaCadastro = '';
// VALIDAÇÃO DO POST
if (isset($_POST['acao'])) {
switch ($_POST['acao']) {
case 'logar':
// BUSCA USUÁRIO POR E-MAIL
$obusuario = Usuario::getUsuarioPorEmail($_POST['email']);
// VALIDA A INSTÂNCIA E A SENHA
if (!$obusuario instanceof Usuario || !password_verify($_POST['senha'], $obusuario->senha)) {
$alertaLogin = 'E-mail ou senha inválidos.';
break;
}
// LOGA O USUARIO
Login::login($obusuario);
break;
case 'cadastrar':
// VALIDAÇÃO DOS CAMPOS RECEBIDOS NO FORMULÁRIO
if (isset($_POST['nome'], $_POST['email'], $_POST['senha'])) {
// BUSCA USUÁRIO POR E-MAIL
$obusuario = Usuario::getUsuarioPorEmail($_POST['email']);
if ($obusuario instanceof Usuario) {
$alertaCadastro = 'E-mail já cadastrado.';
break;
}
$obusuario = new Usuario();
$obusuario->nome = $_POST['nome'];
$obusuario->email = $_POST['email'];
$obusuario->senha = password_hash($_POST['senha'], PASSWORD_DEFAULT);
$obusuario->cadastrar();
// LOGA O USUARIO
Login::login($obusuario);
}
break;
}
}
include __DIR__ . '/includes/header.php';
include __DIR__ . '/includes/formulario-login.php';
include __DIR__ . '/includes/footer.php';