Busca Interna:
  Notícias Zone Masters
  03/09/2008 - Falha de segurança é detectada no Google Chrome
05/06/2008 - Internet ultrapassa TV paga em investimento public...
21/05/2008 - Crimes na internet rendem mais que tráfico de drog...
15/05/2008 - EUA condenam "spamers" a pagar US$ 230 milhões ao ...
14/05/2008 - Internet móvel ultrapassará web convencional, diz ...
09/05/2008 - Oscar da internet divulga os vencedores da 12ª edi...
09/05/2008 - Brasil tem 50 milhões de PCs em uso, aponta FGV
Zone Masters - A revolução da Internet ! - 2007
 
Tutoriais / PHP
 
em 30/06/2007
Criando um sistema de autenticação de usuário
-----------------------------------------------------
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&aacute;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 !
-----------------------------------------------------
 
 
© Copyright 2001 - 2007
Zone Masters - Todos os direitos reservados
- Anuncie
- Expediente
- Na midia