-----------------------------------------------------
Nesse tutorial você irá aprender a fazer uma autenticação de usuário / senha em uma página.
Vamos usar a seguinte base de dados:
 |
CREATE TABLE `membros` (
`id` int(5) NOT NULL auto_increment,
`login` varchar(20) NOT NULL default '',
`senha` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
|
|  |
Vamos começar fazendo a página onde terá o formulário ( login.php ):
 |
<form id="form1" name="form1" method="post" action="login_confirma.php">
<p>Usuário:<br>
<input name="usuario" type="text" id="usuario" size="20" maxlength="20">
<br>
Senha:<br />
<input name="senha" type="password" id="senha" />
<br>
<?=$_GET[erro]?>
<p>
<input type="submit" name="Submit" value="Logar">
</p>
</form>
|
|  |
Faremos agora a página login_confirma.php que ira checar se o usuário e senha digitados no formulário existe na base de dados:
 |
<?php
// inclui o arquivo de configuração do banco de dados
include("config.php");
// checa se o campo USUARIO está em branco
if(empty($_POST["usuario"]))
{ $erro .= "- Campo usuário em branco. <br>"; }
// checa se o campo SENHA está em branco
if(empty($_POST["senha"]))
{ $erro .= "- Campo senha em branco. <br>"; }
// criptografa a senha usando a função md5
$senha = md5($_POST["senha"]);
// faz a consulta na tabela com os dados digitados
$consulta = mysql_query("SELECT * FROM membros WHERE login='$_POST[usuario]' AND senha='$senha'");
// retorna quantos registros foram encontrados na consulta acima
$total = mysql_num_rows($consulta);
// se o retorno for igual a zero exibe a mensagem de erro
if($total == 0)
{ $erro .= "- Usuário ou senha incorreto(s)"; }
// se algum erro ocorreu, exibe eles
if($erro != "")
{ echo "<script language=\"JavaScript\">window.location = \"login.php?i=1&erro=$erro\";</script>"; }
else
{
// se não ...cria um COOKIE válido por 1 dia com o nome de usuário do membro
setcookie("area_restrita", $_POST["usuario"], time()+86400);
// e redireciona para a página restrita
echo "<script language=\"JavaScript\">window.location = \"painel.php\";</script>";
}
?>
|
|  |
Lembrando que você deve gravar as senhas dos usuários da tabela usando a função md5 ( md5($senha); ) para criptografa-las.
Se o usuário e senha digitados estiverem corretos é redirecionado para a página painel.php, se não volta para a página login.php informando qual erro ocorreu.
Agora faremos a página painel.php na qual só é permitido o acesso para quem efetuou o login corretamente. Nela você colocará o conteudo restrito.
 |
<?php
// checa se o cookie existe, se não redireciona para a página de login
if($_COOKIE["area_restrita"] == "")
{echo "<script language=\"JavaScript\">window.location = \"login.php\";</script>";}
// da boas vindas ao usuario
echo "Olá <b>".$_COOKIE["area_restrita"]."</b> seja bem-vindo(a)! (<a href='sair.php'>Sair</a>)";
?>
|
|  |
Agora criaremos a página de logout a sair.php
 |
<?
// deleta o cookie
setcookie("area_restrita");
// redireciona o usuário para a página de login
header("location: login.php");
?>
|
|  |
Até a próxima ! |