Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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..
entendi.. vlwvou melhorar o script de maneira correta..obrigado..
alguém pode me ajudar?Sou iniciante em php, e preciso fazer um login utilizando sessão. Tambem estou utilizando o smarty
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....
Isso poderia ser feito usando Session?Valeu!!!
Chirrinpode ser feito sim.
Valeu!!! http://forum.imasters.com.br/public/style_emoticons/default/shifty.gif
Está em falta o ficheiro CONFIG.PHP
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);
?>
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.