Autenticação de usuários em PHP usando sessões e MySQL
Artigos PHP Sistema de autenticação de usuários em PHP usando sessões e MySQL
Por que eu devo ler este artigo:Através desse artigo, espero que você consiga tirar todas suas dúvidas sobre como deve ser um sistema de autenticação. Esse artigo mostra a principal base, o qual você poderá facilmente adaptar às suas necessidades.
CREATE TABLE 'aut_noticias' (
'titulo' varchar(255) NOT NULL defalut '',
'conteudo' text NOT NULL,
'autor_id" int (11) NOT NULL default '0',
'data' int (11) NOT NULL default '0',
) TYPE=My ISAM AUTO_INCREMENT=4;
CREATE TABLE 'aut_usuarios' (
'nome' varchar(255) NOT NULL,
'senha' varchar(255) NOT NULL,
'postar' varchar(255) NOT NULL,
O campo "postar" da tabela aut_usuarios registra a permissão do usuário se ele poderá postar (valor S) ou não (valor N) novas notícias.
Agora, vamos inserir alguns dados na tabela, para que o exemplo do artigo funcione. Aqui irei dar tudo pronto, mas no seu caso, em seu sistema, você deverá criar uma seção para adicionar usuários, notícias, etc. Mas, isso fica fora do escopo desse artigo.
INSERT INTO 'aut_usuarios' VALUES (1, 'Albert Einstein',
'einstein', 'e7d80ffeefa212b7c5c55700e4f7193e', 'S');
INSERT INTO 'aut_usuarios' VALUES (2, 'Usuário Teste',
'admin', '698dc19d489c4e4db73e28a713eab07b', 'N');
INSERT INTO 'aut_noticias' VALUES (1, 'Sisitema de Usuários',
'bla bla bla \r\n\r\nbla bla bla', 1, 1079449401);
INSERT INTO 'aut_noticias' VALUES (2, 'Atentado em Madri',
'onono onono onono onono', 1, 1079449430);
INSERT INTO 'aut_noticias' VALUES (3, 'Kernel 2.6', 'oioioi
oioioi oioioi oioioi', 2, 1079449456);
Perceba as senhas criptografadas em MD5, para isso, use a função md5("senha_aqui") e então salve o valor gerado no banco de dados, no caso, as senhas são senha123 e teste respectivamente. Eu usei o código abaixo para saber o MD5 para salvar no banco de dados:
Vamos agora criar o arquivo comum.php onde existirá a conexão de banco de dados, usado em todas as páginas.
Criando o formulário e script de Login
<HEAD><TITLE>Sistema de Notícias : Login</TITLE></HEAD>
<form action="login_vai.php" method="post">
Sistema Autenticação de Notícias.<BR>
Agora, vamos criar a página login_vai.php, o qual recebe os dados do formulário login.html e efetua o login do usuário.
"Senha inválida!";
Verificando se usuário está logado no sistema
Agora, o script verifica.php que verifica a sessão do usuário se ele está logado ou não. Caso não esteja logado, o redireciona para a página de login.
Para as páginas que você quer deixar como restritas, simplesmente inclua o arquivo verifica.php.
O script de notícias
Enfim! Chegamos ao principal desse artigo! O script de notícias, onde tudo o que foi criado acima será usado aqui. Esse arquivo é o index.php.
echo "<tr><td>" . $dados["id"] . "</td><td>";
echo " <a href=\"ver_noticia.php?id=" . $dados["id"] . "\">"
. stripslashes($dados["titulo"]) . ";
echo "<td>" . date("d/m/Y à\s H:i:s", $dados["data"]).
É sempre recomendável que você coloque um link para que o usuário encerre a sessão de login atual (sessões são encerradas com a função session_destroy()), caso ele não queira mais permanecer na página. No nosso exemplo, a página é a sair.php:
Curso de Laravel Authentication: Neste curso veremos como implementar uma autenticação do zero utilizando o Laravel. Para isso, partiremos de uma aplicação pronta que possuirá páginas públicas e protegidas, além da tabela de usuários criada em nosso banco de dados MySQL.
Guias de Estudo PHP: Encontre aqui todos os Guias de estudo que você precisa para dominar a linguagem PHP, desde o recurso mais básico até o mais avançado. Escolha o seu!
Programador PHP: Descubra o melhor caminho para aprender PHP, sem perder tempo. Acompanhe os cursos e conteúdos indicados nesse Guia na ordem em que são propostos e prepare-se para decolar sua carreira de programador PHP!