Olá! Sexta Feira, 10 de Fevereiro de 2012.



Dicas CódigoFonte.net
Domingo, 07 de Janeiro de 2007

Login utilizando Cookies

Bem está é minha primeira matéria, qualquer dúvida com o que está escrito e informado nos códigos é só enviar sua dúvida para capella.bruno@gmail.com.

Vamos lá!

Vou tentar mostrar além dos scripts de login, a criação do formulário de login e o de cadastro de usuários com níveis.

Todos de forma muito simples, incluindo também, o script de verificação de login, caso o visitante da pagina não estiver logado, será redirecionado para a área de login.

Vamos ao código:

CADASTRO.HTML
<html>
<head>
<title>Cadastro usuários </title>
</head>

<body>

<form action="cadastro.php?acao=usuario" method="post" name="form1" target="_self">
  <table width="762" border="0">
    <tr>
      <th width="480" scope="col"><div align="left"></div>
        <table width="333" height="205" border="0" align="left">
        <tr>
          <th scope="col">Usuario:</th>
          <th scope="col"> <div align="left">
              <input name="usuario" type="text" id="usuario" />
          </div></th>
        </tr>
        <tr>
          <th scope="row">Senha:</th>
          <td><div align="left">
              <input name="senha" type="password" id="senha" />
          </div></td>
        </tr>
        <tr>
          <th scope="row">Nivel:</th>
          <td><div align="left">
              <select name="nivel" id="nivel">
                <option value="1">Administrador</option>
                <option value="2">Usuário Padrão</option>
                <option value="3">Restrito</option>
                <option value="0" selected="selected"></option>
              </select>
          </div></td>
        </tr>
        <tr>
          <th colspan="2" scope="row"><div align="center">
              <input type="submit" name="Submit" value=">>>Cadastrar<<<" />
            </div>
              <div align="left"></div></th>
        </tr>
</body>
</html>


CADASTRO.PHP
<?

include "config.php";

if($acao==usuario){

$usuario = $_POST["usuario"];
$senha = $_POST["senha"];
$nivel = $_POST["nivel"];


$sql = mysql_query("INSERT INTO  tabela (usuario, senha, nivel) VALUES (UPPER('$usuario'), md5('$senha'), '$nivel')", $conexao) or die("Erro: " . mysql_error()); // faço a inserção no banco de dados.

if(($sql) > 0){
echo "Cadastro do usuário completo.";
}
else{
echo "erro ao tentar cadastrar o usuário.";
}
}
?>


LOGIN.HTML
<html>
<head>
<title>Login</title>

<meta http-equiv="Content-Type" content="text/html; ISO-8859-1" />
<style type="text/css">
td img {display: block;}body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.style1 {
font-size: 12px;
color: #000000;
font-weight: bold;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
</style>

</head>
<body bgcolor="#ffffff">
<form id="form1" name="form1" method="post" action="login.php?acao=logar">
     

     

     

     

     

     

     

  <table width="241" border="0" align="center">
    <tr>
      <th scope="col">Usuario:</th>
      <th scope="col"><label>
        <div align="left">
          <input name="usuario" type="text" class="style1" id="usuario" size="10" />
        </div>
      </label></th>
    </tr>
    <tr>
      <th scope="row">Senha:</th>
      <td><label>
      <div align="left">
        <input name="senha" type="password" class="style1" id="senha" size="10" />
      </div>
      </label></td>
    </tr>
    <tr>
      <th scope="row"> </th>
      <td><label>
        <div align="right">
          <input type="submit" name="Submit" value="Logar" />
        </div>
      </label></td>
    </tr>
  </table>
</form>
<html>


LOGON.PHP
<?
ob_start(); // utilizando este comando não terá problemas  caso a pagina contenha conteudo html, 

if($acao==logar){
include "config.php";

$usuario = $_POST["usuario"];
$senha = $_POST["senha"];

$sql = mysql_query("select * from tabela where usuario='$usuario' AND senha=MD5('$senha')"); /* verifico se o usuário e a senha estão corretos */
$sql2 = mysql_query("select `usuario`, `senha`, `nivel` from tabela where usuario='$usuario' LIMIT 0,1", $conexao); /* verifico o nivel do usuário logado */
$busca = mysql_num_rows($sql); /*verifico se ocorreu resultado*/
$array = mysql_fetch_array($sql2);/*se ocorreu crio um array para os dados recebidos */
$usuario = $array["usuario"];
$senha = $array["senha"];
$nivel = $array["nivel"];


if(($busca > 0) && ($array > 0)){ /* crio os cookies */
setcookie("usuario", $usuario);
setcookie("senha", $senha);
setcookie("nivel", $nivel);
header("location: admin.php");
}
else{
echo"Erro ao se logar.";
}
}
?>


VERIFICA.PHP
<?
// Sistema para verificar se o usuário já está logado ou não
if(!$HTTP_COOKIE_VARS["usuario"] && !$HTTP_COOKIE_VARS["senha"]){
header("Location: login.html");
}

else

{

include "config.php";
$sql = mysql_query("select `nome`, `link`, `target`, `nivel` from tabela"); /* faço uma consulta na base selecionando o menu destinado ao nivel do usuário.*/
$usuario = $HTTP_COOKIE_VARS["usuario"]; /* crio uma variavel com o nome dousuário para ser apresentado apos o login ou para ser comparado caso queira mostrar o nome do usuário. */
$sql_1 = mysql_query("select `usuario`, `nome` from tabela where usuario='$usuario'"); /* consulto a tabelça de usuário para buscar o nome comparando o nome de usuário gravado no cookie recebendo informações somente do nome quer for igual ao usuário. */

$consulta = mysql_fetch_array($sql_1);
$nome = $consulta["nome"];

if($HTTP_COOKIE_VARS["nivel"] ==1){
echo "Seja Bem Vindo(a) <b>$nome</b>.";
echo "   ";
echo "<a href='logoff.php?acao=sair' target='_top'>Logoff</a>";
echo "<hr>";
while($busca = mysql_fetch_array($sql)){ /* faço a verificação guardando as informações dos links que serão apresentados. */

$nome = $busca["nome"];
$link = $busca["link"];
$target = $busca["target"];
$nivel = $busca["nivel"];

if($nivel==1){ /* verifico se o nivel do menu apresentado é igual a 1 */
echo "<a href='$link' target='$target'><b>$nome</b></a>";
echo "  ";
echo "<b>||</b>";
echo " ";
}//fecha if 
  }
 }
if($HTTP_COOKIE_VARS["nivel"] ==2){
echo "Seja Bem Vindo(a) <b>$nome</b>.";
echo "   ";
echo "<a href='logoff.php?acao=sair' target='_top'>Logoff</a>";
echo "<hr>";
while($busca = mysql_fetch_array($sql)){

$nome = $busca["nome"];
$link = $busca["link"];
$target = $busca["target"];
$nivel = $busca["nivel"];

if($nivel==2){
echo "<a href='$link' target='$target'><b>$nome</b></a>";
echo "  ";
echo "<b>||</b>";
echo " ";
}//fecha if 
  }
}
}
?>


Bem espero que esta matéria ajude a quem necessita.

vlw..

Comentários do artigo [Novo comentário]

lucas roger gabriel almeida - 15 de Dezembro de 2008 - 01:05
Olha uma unica duvida
Vc naum esplicou como configura o banco de dados
qualquer informação me add no msn lrgabriel_6@hotmail.com
Lara Mendonça - 05 de Março de 2009 - 08:26
faltou explicar sobre o banco de dados, viu?
Dayane de oliveira da silva - 14 de Abril de 2009 - 14:13
eu so gostaria de saber
em qual local e paginas eu aplico cada um dos codigos?
agradeço deis de ja!!!
Rafael dos Santos Marques - 03 de Maio de 2009 - 18:37
Vc naum esplicou como configura o banco de dados, me da mais informações pelo msn:
mascote_tamandare@hotmail.com

vlw manu
Jales Lucio de Andrade Junior - 28 de Setembro de 2009 - 22:18
Faltou so o banco de dados!
Me passa como ? esquema pelo msn tambem
maximuslucio@hotmail.com
Obrigado
Jales Lucio de Andrade Junior - 28 de Setembro de 2009 - 22:22
Faltou so o banco de dados!
Me passa como é o esquema pelo msn tambem
maximuslucio@hotmail.com
Obrigado
Victor Mendonça - 01 de Maio de 2010 - 00:47
Gente, o banco de dados não é obrigatório, só foi usado no tutorial pra mostrar como deveria ser a ligação entre o php e o banco.

A ligação é a mesma, vai comparar login com o field de login da coluna e etc.

A idéia básica é ensinar como utilizar os cookies, e para isso, um simples formulário sem banco resolve.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:






CodigoFonte.net » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010

Procurando Notebooks, Câmeras Digitais, iPhones?

CompreDeTudo.com