Jump to content
Fórum Script Brasil
  • 0

Sistema de cadastro e login com niveis de permissao


lucke

Question

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!

Edited by lucke
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...