-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
149 lines (107 loc) · 4.69 KB
/
index.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?php
session_start(); // Iniciar a sessão
ob_start(); // Limpar o buffer de saída
// Incluir o arquivo com as configurações
include_once './config.php';
// Definir um fuso horario padrao
date_default_timezone_set('America/Sao_Paulo');
// Incluir o arquivo com a conexão com banco de dados
include_once './conexao.php';
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Celke - Login</title>
</head>
<body>
<h2>Login</h2>
<?php
// Exemplo criptografar a senha
//echo password_hash(123456, PASSWORD_DEFAULT);
// Receber os dados do formulário
$dados = filter_input_array(INPUT_POST, FILTER_DEFAULT);
// Acessar o IF quando o usuário clicar no botão acessar do formulário
if(!empty($dados['SendLogin'])) {
//var_dump($dados);
// Recuperar os dados do usuário no banco de dados
$query_usuario = "SELECT id, nome, usuario, senha_usuario, celular
FROM usuarios
WHERE usuario=:usuario
LIMIT 1";
// Preparar a QUERY
$result_usuario = $conn->prepare($query_usuario);
// Substituir o link da query pelo valor que vem do formulário
$result_usuario->bindParam(':usuario', $dados['usuario']);
// Executar a QUERY
$result_usuario->execute();
// Acessar o IF quando encontrar usuário no banco de dados
if(($result_usuario) and ($result_usuario->rowCount() != 0)) {
// Ler os registros retorando do banco de dados
$row_usuario = $result_usuario->fetch(PDO::FETCH_ASSOC);
//var_dump($row_usuario);
// Acessar o IF quando a senha é válida
if(password_verify($dados['senha_usuario'], $row_usuario['senha_usuario'])) {
// Recuperar a data atual
$data = date('Y-m-d H:i:s');
// Gerar número randômico entre 100000 e 999999
$codigo_autenticacao = mt_rand(100000, 999999);
// QUERY para salvar no banco de dados o código e a data gerada
$query_up_usuario = "UPDATE usuarios SET
codigo_autenticacao=:codigo_autenticacao,
data_codigo_autenticacao=:data_codigo_autenticacao
WHERE id=:id
LIMIT 1";
// Preparar a QUERY
$result_up_usuario = $conn->prepare($query_up_usuario);
// Substituir o link da QUERY pelo valores
$result_up_usuario->bindParam(':codigo_autenticacao', $codigo_autenticacao);
$result_up_usuario->bindParam(':data_codigo_autenticacao', $data);
$result_up_usuario->bindParam(':id', $row_usuario['id']);
// Executar a QUERY
$result_up_usuario->execute();
// Enviar o SMS com o código
// Criar a mensagem
$mensagem = urlencode("[Ruan] Codigo de verificacao: $codigo_autenticacao");
// URL com os dados
$url_api = "https://api.iagentesms.com.br/webservices/http.php?metodo=envio&usuario=ruanruandnz@gmail.com&senha=12345&celular=5199999999&mensagem=$mensagem&codigoms=300". USUARIOIAGENTE."&senha=".SENHAIAGENTE."&celular=".$row_usuario['celular'] ."&mensagem=$mensagem&codigosms=300";
// Realizar a requisição HTTP
$resposta_api = file_get_contents($url_api);
if($resposta_api == "OK") {
// Salvar os dados do usuário na sessão
$_SESSION['id'] = $row_usuario['id'];
$_SESSION['usuario'] = $row_usuario['usuario'];
// Redirecionar o usuário
header('Location: validar_codigo.php');
// Pausar o processamento
exit();
} else {
$_SESSION['msg'] = "<p style='color: #f00;'>Erro: Tente mais tarde!</p>";
}
} else {
$_SESSION['msg'] = "<p style='color: #f00;'>Erro: Usuário ou senha inválida!</p>";
}
} else {
$_SESSION['msg'] = "<p style='color: #f00;'>Erro: Usuário ou senha inválida!</p>";
}
}
// Imprimir a mensagem da sessão
if(isset($_SESSION['msg'])) {
echo $_SESSION['msg'];
unset($_SESSION['msg']);
}
?>
<!-- Inicio do formulário de login -->
<form method="POST" action="">
<label>Usuário: </label>
<input type="text" name="usuario" placeholder="Digite o usuário"><br><br>
<label>Senha: </label>
<input type="password" name="senha_usuario" placeholder="Digite a senha"><br><br>
<input type="submit" name="SendLogin" value="Acessar"><br><br>
</form>
<!-- Fim do formulário de login -->
Usuário: ruanruandnz@gmail.com<br>
Senha: 123456
</body>
</html>