AprendaCerto é um sistema de gerenciamento de usuários com funcionalidades de login, cadastro e recuperação de senha, desenvolvido com HTML, CSS, Bootstrap, JavaScript, jQuery, PHP e MySQL.
- Login de usuários
- Cadastro de novos usuários
- Recuperação de senha
- Proteção de páginas restritas com sessão
- Logout de usuários
- HTML5
- CSS3
- Bootstrap 5
- JavaScript (ES6)
- jQuery
- PHP 7.x+
- MySQL
- PDO (PHP Data Objects)
- Servidor Web: Apache (preferencialmente com suporte ao PHP) ou outro servidor com suporte a PHP.
- PHP: Versão 7.0 ou superior.
- MySQL: Versão 5.7 ou superior.
- Composer (opcional): Caso queira gerenciar dependências PHP, embora o projeto não tenha dependências externas.
Clone o projeto do seu repositório Git localmente:
git clone https://github.com/renejr/aprendacerto.git
cd aprendacerto
Crie o banco de dados aprendacerto
no seu servidor MySQL:
CREATE DATABASE aprendacerto;
Execute o seguinte comando SQL para criar a tabela usuarios
:
CREATE TABLE `usuarios` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`email` VARCHAR(250) NOT NULL,
`senha` VARCHAR(250) NOT NULL,
`criado_em` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
Abra o arquivo bdclass.php
e verifique as configurações de conexão ao banco de dados. Certifique-se de que os parâmetros correspondem ao seu ambiente de desenvolvimento.
<?php
class BD {
private $host = 'localhost';
private $port = '3307'; // Ajuste a porta caso necessário
private $db = 'aprendacerto';
private $user = 'root';
private $pass = ''; // Se você tiver senha, adicione aqui
private $pdo;
public function __construct() {
try {
$this->pdo = new PDO("mysql:host=$this->host;port=$this->port;dbname=$this->db", $this->user, $this->pass);
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Erro na conexão com o banco de dados: ' . $e->getMessage();
}
}
// Métodos de SELECT, INSERT, UPDATE, DELETE...
}
?>
Certifique-se de que seu servidor Apache ou outro servidor esteja configurado para processar arquivos PHP. Caso esteja usando o XAMPP ou WAMP, coloque o projeto na pasta htdocs
ou www
, respectivamente.
Após configurar o servidor e o banco de dados, acesse a URL onde o projeto está hospedado. Por exemplo:
http://localhost/aprendacerto/index.html
- Acesse a tela de login em
index.html
. - Informe o e-mail e a senha cadastrados.
- Caso o login seja bem-sucedido, você será redirecionado para a página de boas-vindas.
- Acesse a tela de cadastro em
novaconta.html
. - Informe um e-mail válido e uma senha.
- Se o e-mail ainda não estiver cadastrado, o sistema gravará os dados no banco.
- Na tela de recuperação de senha
esquecisenha.html
, informe o e-mail. - Caso o e-mail exista no banco, a senha será exibida.
- Páginas restritas, como
bemvindo.php
, são protegidas. O sistema redireciona automaticamente para o login se o usuário não estiver autenticado.
- O usuário pode se desconectar do sistema usando o botão "Sair" na página de boas-vindas, o que encerra a sessão.
aprendacerto/ │ ├── img/ │ └── logo-aprendacerto.png # Logo do sistema ├── bdclass.php # Classe de conexão ao banco de dados (PDO) ├── consumos.php # Lógica de backend (login, cadastro, etc.) ├── index.html # Página de login ├── novaconta.html # Página de cadastro ├── esquecisenha.html # Página de recuperação de senha ├── bemvindo.php # Página de boas-vindas (protegida por sessão) ├── logout.php # Arquivo para realizar o logout (encerrar a sessão) └── README.md # Instruções para execução do projeto
## Observações
- **Validação de E-mail**: Tanto no frontend quanto no backend, os e-mails são validados.
- **Segurança**: A senha é salva em texto plano no banco de dados para simplificação, mas, em ambientes de produção, recomenda-se utilizar hashing de senha com algoritmos como `bcrypt`.
- **Validação do Formulário**: Todos os formulários têm validação tanto no frontend quanto no backend.
## Licença
Este projeto é de código aberto e está licenciado sob os termos da MIT License.