Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de cadastro e login com niveis de permissao


lucke

Pergunta

Eaee pessoal!!!Esse é meu primeiro post de código pronto!

Fiz esse sistema de login com 2 niveis de permissoes: User e Admin!

Esse sisteminha usa Mysql como banco de dados!Breve postarei um, que usa DB .TXT!

Vamos lá!

Vamos começar pela parte de fazer o logon, que é o login.php e confirmar_login.php:

login.php:

<form method="POST" action="confirmar_login.php">
  <p aling="center" align="center"><font face="Verdana" size="1"><b>Login:<br>
&nbsp;<input type="text" name="username" size="15" style="font-family: Verdana; font-size: 8 pt; font-weight: bold"><br>
  Senha: <br>
  <input type="password" name="senha" size="15" style="font-family: Verdana; font-size: 8 pt; font-weight: bold"><br>
  <input type="submit" value="Entrar" name="submeter" size="15" style="font-size: 8 pt; font-family: Verdana; font-weight: bold"></b></font></p>
</form>
<BR><BR><BR><BR>
confirmar_login.php:
<?php
$username = $_POST['username'];
$senha = $_POST['senha'];
$erro="";
setcookie("username",$username); setcookie("senha",$senha);
echo "<font face=verdana size=1>";
include "config.php";
$sql = "SELECT * FROM $tb2 where login='$username';";
$resultado = mysql_query($sql, $conexao);
$linhas = mysql_num_rows($resultado);
$zoia = mysql_fetch_row($resultado);
if($linhas==0)
{
$erro="Usuário não encontrado! $username";
$erro="<BR><BR><BR><BR><p align=\"center\">Usuário <b>não</b> encontrado <b>Aguarde...</b></p><meta http-equiv='refresh' content='1;URL=login.php'>";
}
else
{
if($senha!=mysql_result($resultado,0,"senha"))
{
$erro ="Senha está incorreta!<br>";
$erro .="Não foi possivel o Login <meta http-equiv='refresh' content='2;URL=login.php'>";
}
else if($senha==mysql_result($resultado,0,"senha"))
{
echo "<BR><BR><BR><BR><BR><p align=\"center\">Login Efetuado ! <b>Aguarde....</b></p><meta http-equiv='refresh' content='2;URL=admin.php'>";
}
else
{
$erro="Erro dinovo powww??";
$erro="<p aling=center><a href=login.php>Voltar</a></p>";
}
}

if(!empty($erro)){
echo $erro;
}
mysql_close($conexao);
?>
Vamos agora a parte mais legal: O painel do usuário, o logout e os o "meu perfil": admin.php:
<?
echo "<font face=verdana size=1>";
include "valida_cookies.php";
include "config.php";
$login= $HTTP_COOKIE_VARS['username'];
echo "Olá: <b>$login</b> !";
echo "<BR><BR>";
$sql3 =@ mysql_query("SELECT * FROM $tb2 where login='$login'");
if (!$sql3){
echo "Não foi possivel fazer a pesquisa";}
else {
while ($reg=mysql_fetch_array($sql3)){
$nivel = $reg['nivel'];
if ($nivel==0){
include "user.php";
} else {
include "adm.php";
}
  }
    }
?>
logout.php:
<?
setcookie("username");
setcookie("senha");
header("Location: login.php");
?>
meuperfil.php:
<?
include "valida_cookies.php";
include "config.php";

$username = $_COOKIE['username'];
$sql = mysql_query("SELECT * FROM $tb2 WHERE login='$username'");
if (!$sql){
echo "Usuário inexistente";
}
else{
while ($reg = mysql_fetch_array($sql)){
$nome = $reg['nome'];
$login = $reg['login'];
$senha = $reg['senha'];
$nivel = $reg['nivel'];
global $username;
if ($nivel==0)
{ echo "<BR><BR><BR><b><p align=\"center\">Voce não tem permissoes para acessar essa area</p></b>"; break;}

echo"
<p align=center><form action=\"$PHP_SELF?desejo=atualizar&usuario=$username\" method=POST>
<b>Nome:</b><BR> <input type=text name=nome value=\"$nome\" style=\"font-family: Verdana; font-size: 8 pt; font-weight: bold\"><br>
<b>Login:</b> <BR><input type=text name=login value=\"$login\" style=\"font-family: Verdana; font-size: 8 pt; font-weight: bold\"><br>
<b>Senha: </b><BR><input type=text name=senha value=\"$senha\" style=\"font-family: Verdana; font-size: 8 pt; font-weight: bold\"><br>
<b>Nivel:</b> <BR><input type=text name=nivel value=\"$nivel\" style=\"font-family: Verdana; font-size: 8 pt; font-weight: bold\"><br>
<input type=submit value=\"Atualizar\" style=\"font-family: Verdana; font-size: 8 pt; font-weight: bold\">
</form><BR> <b>Nivel:</b> <font color=reg>1</font> ( Administrador )  <b>Nivel:</b> <font color=reg>0</font>  ( Normal )<BR> <b>Atenção</b> no  NIVEL coloquei apenas 0 ou 1.</p>";
}
}
$desejo= $_GET['desejo'];
$usuario = $_GET['usuario'];
$nome = $_POST['nome'];
$login = $_POST['login'];
$senha = $_POST['senha'];
$nivel = $_POST['nivel'];
if ($desejo==atualizar){
$sql= mysql_query("UPDATE $tb2 SET nome='$nome', login='$login', senha='$senha', nivel='$nivel' WHERE login='$username';");
if (!$sql)
{ echo "Não foi possivel atualizar seus dados :("; }
else
{ echo "<h2>Seus Dados Foram Atualizados com Sucesso <b>Aguarde....</b></h2><meta http-equiv='refresh' content='1;URL=login.php'>";}

}

mysql_close($conexao);
?>
<br>
<a href="admin.php" title="Voltar ao painel admin"> Voltar ao painel admin</a>
Agora, os arquivos principais: o config.php e o valida_cookies.php: config.php:
<?

$host = "localhost"; // Host valor padrão é localhost

$usuariodb="seu usuario"; //Usuario de Conexao com  o MySQL

$senhadb="sua senha"; // Senha de Conexao com o MySQL

$db="Database que contera as tabelas"; //Banco de Dados MySQL

$tb2="usuarios"; // não ALTERE AQUI DE MANEIRA ALGUMA !!


$conexao=mysql_connect ("$host", "$usuariodb", "$senhadb") or die ('não foi possivel!Erro: ' . mysql_error());
mysql_select_db ("$db") or die("não foi possivel conectar!");
?>
valida_cookies.php:
<?
$username = $_COOKIE['username'];
$senha = $_COOKIE['senha'];
 if( (!empty($username)) AND (!empty($senha)) )
{
include "config.php";
$sql ="SELECT * FROM $tb2 where login='$username';";
$resultado = mysql_query($sql, $conexao);

if(mysql_num_rows($resultado)==1)
{
if($username!=mysql_result($resultado,0,"login"))
{
if($senha!=mysql_result($resultado,0,"senha"))
{
setcookie("username",$username,time()+3600); setcookie("senha",$senha,time()+3600);
echo "Você não efetuou o login. username e senha errados <a href=index.php> Logar </a>"; exit;
}
}
}
else
{
setcookie("username",$username,time()+3600); setcookie("senha",$senha,time()+3600);
echo "Você não efetuou o login. <a href=index.php> Logar </a><meta http-equiv='refresh' content='2;URL=index.php'>";
exit;
}
}
else
{
echo "Você não efetuou o login. <a href=index.php> Logar </a><meta http-equiv='refresh' content='2;URL=index.php'>";
exit;
}
mysql_close($conexao);
?>
Bom, estamos quase terminando!Falta o user.php, e o adm.php.E tambem os arquivos de cadastro, e tambem o exclusao.php que sera usado para o admin excluir os users. O user.php ira conter todo o texto que você quiser que apareça p/ os usuarios de nivel 0(normais), e o adm.php ira conter todo o texto que você quiser que apareça p/ os usuarios de nivel 1(Admins). user.php: (Por padrão só coloquei isso!Mas ponha oque quiser!)
<div align=\"center\"><tr>

    <td><a href=exclusao.php> Excluir Mensagens </a> <br>
    <td><a href=meuperfil.php> Meus Dados </a> <br>
    <td><a href=logout.php> Sair (Logout)</a> <br>
<td><b>Usuário Nivel:</b> Normal
<tr>
</font>
</div><BR><BR><BR><BR>
adm.php: (Por padrão só coloquei isso!Mas ponha oque quiser!)
<div align=\"center\"><tr>

    <td><a href=exclusao.php> Excluir usuario </a> <br>
    <td><a href=meuperfil.php> Meus Dados </a> <br>
    <td><a href=logout.php> Sair (Logout)</a> <br>
<td><b>Usuário Nivel:</b> Administrador
<tr>
</font>
</div><BR><BR><BR><BR>
Arquivo exclusao.php:
<? include "valida_cookies.php"; ?>
<font face=verdana size=1>
<?
include "config.php";

$sql = mysql_query("SELECT * FROM $tb2");
$linhas = mysql_num_rows($sql);
echo "Temos $linhas usuario(s) cadastrados<br><br>";
if (!$sql){
echo "não foi possivel fazer a consulta";
}
else{
while ($reg = mysql_fetch_array($sql)){
$nome = $reg['nome'];
$usuario = $reg['login'];
$senha = $reg['senha'];
echo "
<form method=post action=$PHP_SELF?desejo=excluir>
<input type=hidden name=usuario value=\"$usuario\">
<b>Nome:</b> $nome<br>
<b>Usuario:</b> $usuario<br>
<b>Senha:</b> ***** <br>
<input type=submit value= Excluir Usuario style=\"font-family: Verdana; font-size: 8 pt; font-weight: bold\">
<br><br> </form>
";
}
}
$usuario = $_POST['usuario'];
$desejo= $_GET['desejo'];
if ($desejo==excluir)
{
$sql1 = mysql_query("DELETE FROM $tb2 where login='$usuario'");
if (!$sql1)
{echo "não Foi Excluido";}
else
{echo "Usuario Excluido com sucesso <b>Usuario:</b> $usuario   <b>Aguarde..</b><meta http-equiv='refresh' content='2;URL=users.php'>";}
}
?>
<center> <a href=admin.php>Voltar a administracao</a> </center>
Arquivo de cadastro: cadastro.php:
<br><BR><img src="cadastro.jpg" width="200" height="50" border="0">

<form method="POST" action="?acao=cadastrar">
<p aling="center" align="center"><font face="Verdana" size="1">
<b>Nome:</b><br>&nbsp;<input type="text" name="nome" size="15" style="font-family: Verdana; font-size: 8 pt; font-weight: bold"><br>
  <b>Login:<br>
&nbsp;<input type="text" name="login" size="15" style="font-family: Verdana; font-size: 8 pt; font-weight: bold"><br>
  Senha: <br>
  <input type="password" name="senha" size="15" style="font-family: Verdana; font-size: 8 pt; font-weight: bold"><br>
  <b>Email:</b><br>&nbsp;<input type="text" name="email" size="15" style="font-family: Verdana; font-size: 8 pt; font-weight: bold"><br>
  <b>Data de nascimento:</b><br>&nbsp;<input type="number" name="nascimento" size="15" style="font-family: Verdana; font-size: 8 pt; font-weight: bold"><br>

  <input type="submit" value="Cadastra" name="submeter" size="15" style="font-size: 8 pt; font-family: Verdana; font-weight: bold"></b></font></p>
</form>

<?
include "config.php";
$acao= $_GET['acao'];

if ($acao==cadastrar){
if (empty($nome) && empty($login) && empty($senha))
{
echo "Todos os Campos Obrigatórios";
}
if ($senha >8)
{ echo "A Senha deve ser menor que 8 caracteres"; }
else
{
$nome= $_POST['nome'];
$login= $_POST['login'];
$senha= $_POST['senha'];
$email= $_POST['email'];
$nascimento= $_POST['nascimento'];
$nivel= $_POST['nivel'];
$sql=mysql_query("INSERT INTO $tb2 (nome, login, senha, nivel) VALUES ('$nome', '$login', '$senha', '$email', '$nascimento', '0')");
if (!$sql){
echo "não foi Possivel concluir o cadastro";
}
else {
echo "Cadastro Concluido com sucesso!!<BR><BR>
<a href=login.php> Logar </a>";
}
 } }
?>
<BR><BR><BR><BR>
E por ultimo... o código pra vocês rodarem para criar a tabela no phpmyadmin: OBS: O código cria a tabela e um usuario com login lucke senha lucke p vocês entrarem no painel.
CREATE TABLE IF NOT EXISTS `usuarios` (
  `nome` varchar(250) NOT NULL,
  `login` varchar(250) NOT NULL,
  `senha` varchar(8) NOT NULL,
  `email` varchar(255) NOT NULL,
  `nascimento` varchar(11) NOT NULL,
  `nivel` varchar(1) NOT NULL,
  PRIMARY KEY  (`login`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `usuarios` (`nome`, `login`, `senha`, `nascimento`, `email`, `nivel`) VALUES
('Lucas', 'lucke', 'lucke', '11/11/1998', 'lucke@lucke.com', '1');
Bom, é isso!!! Terminando:: Não esqueça de configurar o config.php; Para proteger mais páginas:
<? include "valida_cookies.php"; ?>

E é isso!!!!

Qualquer erro, bug, elogio e sugestao, postem ai!!

É isso!falou Pessoal!

Editado por lucke
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...