Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Capella

Sistema de Login com Niveis

Recommended Posts

Bem está é minha primeira matéria então vamos logo e qualquer duvida com o que está escrito e informado nos codigos é postar ae.

 

bem esse script é bem simples mais caso alguem queira melhor esteja avontade.

uso e funciona direitinho.

 

vamos lá, tenho visto varios scripts de login, todos muito bem esplicado e funcionais..

nesse venho tentar mostrar alem dos scripts de login, a criação do formulário de login e o de cadastro de usuários com niveis.

todos de forma muito simples, incluindo tambem, o script de verificação de login, casa o visitante da pagina não estiver logado, será redirecionado para a area de login.

 

 

vamos la no codigos.

 

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">	 <br />	 <br />	 <br />	 <br />	 <br />	 <br />	 <br />  <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>
LOGIN.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ãoif(!$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 está materia ajude a quem necessita.

 

vlw..

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw tmferreiravo fazer as modificações sugeridas, mais no caso do redirecionamento é que a pagina admin.php é minha pagina adminstrativa eu so esqueci de alterar no topico. mais valeu mesmo pelas dicas..e outra coisa que não tinha vistona primeira linha quando fala pra trocar o if($acao==logar) por if($acao=='logar'){eu ja tinha feito isso porem não funcionava não sei por qual motivo.so estava funcionando desta forma. por isso achei melhor colocar assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala chefe....eu estou procurando um sistema de HD Virtual, de maneira que possam os usuários entrarem com senhas e cada um ter o seu espaço de HD Virtual para enviar arquivos (up) e fazer os downloads dos arquivos....Você poderia me ajudar nessa? Ou sabe o caminho a seguir?Abraços e valew mesmo....Fala chefe....eu estou procurando um sistema de HD Virtual, de maneira que possam os usuários entrarem com senhas e cada um ter o seu espaço de HD Virtual para enviar arquivos (up) e fazer os downloads dos arquivos....Você poderia me ajudar nessa? Ou sabe o caminho a seguir?Abraços e valew mesmo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

pteixeira, pelo que eu vi do código o arquivo config.php, são as tuas configurações de conexão com o banco, não teria porque postar. Se não sabe como configurar segue abaixo:

 

<?php
$hostname_conexao = "localhost";
$db_conexao = "NOME DO BANCO";
$username_conexao = "SEU USUARIO";
$password_conexao = "SUA SENHA";
$conexao = mysql_pconnect($hostname_conexao, $username_conexao, $password_conexao) or die(mysql_error());
mysql_select_db($db_conexao, $conexao);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.