You are on page 1of 5

Criando um sistema de cadastro e login com PHP e MySql Neste artigo vamos aprender a criar um sistema de cadastro e login

bem simples, utilizando PHP e MySQL. Vamos ver tambm alguns conceitos de criptografia md5 e cookies. por Eduardo Soares
201 34 0 56

Ol, hoje vamos aprender como criar um simples sistema de cadastro e login utilizando PHP + MySQL. Ateno.: Lembrando que voc dever ter instalado na sua mquina o MySql e ter um servidor local com suporte a php para poder testar o sistema. (Eu utilizei o Mysql Workbench 5.2 CE + IIS (Com o php 5)).

Criando a tabela 'usuarios'


1 Passo - A primeira coisa a ser feita criar a sua tabela no banco de dados, aqui ns utilizaremos apenas 3 campos (voc poder utilizar quantos campos quiser, desde que , respeite alguma regras que sero explicadas). Vamos ao cdigo: Listagem 1 - Tabela usuarios (usuarios.sql) 1Create table usuarios ( 2ID Int UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, 3login Varchar(30), 4senha Varchar(40), 5Primary Key (ID)) ENGINE = MyISAM;

O cdigo acima, criou uma tabela chamada usuarios , contendo os sequintes campos: login (do tipo varchar com no mximo 30 caracteres), senha (do tipo varchar com no mximo 40 caracteres), e o campo ID (do tipo INT, e com auto incremento.) Agora segue uma pequena explicao sobre cada 1 dos 3 campos.

Campo 'login' - Armazenar o nome digitado no campo 'login' do formulrio (Esse campo no pode se repetir e no podem ser nulos,porem pode ser alterado pelo usurio caso voc deseje permitir.) a restrio ser aplicada via php. Campo 'senha' - Armazenar o valor da variavl senha(que veremos mais a frente) Campo 'ID' - Armazena um cdigo nico de usurio, gerado cada vez que alguem se cadastra, dando identidade nica a cada login (Esse cdigo no se repete, e no pode ser alterado, podendo causar falhas como invalidez das contas devido ao compartilhamento de ids)

Criando o Formulrio de cadastro


2 Passo - Agora vamos criar o nosso formulrio html. Nnesse caso no utilizaremos estilos css, apenas um layout simples para entender o funcionamento do sistema (Caso queira saber como estilizar o seu formulrio acesse este link: Customizando formulrios com CSS ) Vamos ao cdigo: Listagem 2 - Pgina cadastro.html 1 <html> 2 <head> 3 <title> Cadastro de Usurio </title> </head> 4 <body> 5 <form method="POST" action="cadastro.php"> 6 <label>Login:</label><input type="text" name="login" id="login"><br> 7 <label>Senha:</label><input type="password" name="senha" 8 id="senha"><br> <input type="submit" value="Cadastrar" id="cadastrar" 9 name="cadastrar"> 10</form> 11</body> 12</html>

Figura 1: cadastro.html Ateno para um ponto importante dessa pgina:

Estamos utilizando o mtodo post, para o envio dos dados para a pgina php. Voc tambm pode utilizar o GET, porm, o mtodo POST mais seguro no envio das informaes, j que o mtod GET passa os valores dos campos como parmetros pela URL.

Criando o cadastro.php
3 Passo - Agora vamos criar a pgina cadastro.php, essa pgina ira tratar os dados inseridos no formulrio de cadastro e inser-los na sua tabela no banco de dados. Vamos ao cdigo: Listagem 3 - Pgina cadastro.php
<?php

1 $login = $_POST['login']; 2 $senha = MD5($_POST['senha']); $connect = 3 mysql_connect('nome_do_servidor','nome_de_usuario','senha'); 4 $db = mysql_select_db('nome_do_banco_de_dados'); 5 $query_select = "SELECT login FROM usuarios WHERE login = '$login'"; 6 $select = mysql_query($query_select,$connect); = mysql_fetch_array($select); 7 $array $logarray = $array['login']; 8 9 if($login == "" || $login == null){ 10 echo"<script language='javascript' type='text/javascript'>alert('O campo login deve ser 11 preenchido');window.location.href='cadastro.html';</script>"; 12 13 }else{ 14 if($logarray == $login){ 15 16 echo"<script language='javascript' 17type='text/javascript'>alert('Esse login j 18existe');window.location.href='cadastro.html';</script>"; die(); 19 20 }else{ 21 $query = "INSERT INTO usuarios (login,senha) VALUES 22('$login','$senha')"; $insert = mysql_query($query,$connect); 23 24 if($insert){ 25 echo"<script language='javascript' 26type='text/javascript'>alert('Usurio cadastrado com 27sucesso!');window.location.href='login.html'</script>"; 28 }else{ echo"<script language='javascript' 29 type='text/javascript'>alert('No foi possvel cadastrar esse 30 usurio');window.location.href='cadastro.html'</script>"; 31 } 32 }
} ?>

Obs: Na linha 7 do cdigo acima, temos a verificao ($login == "" || $login == null), essa a restrio que falamos anteriormente, em que , o campo login no pode estar nulo. A verificao na linha 13 refere-se existncia de um usurio com o mesmo nome, ou seja, caso o nome exista no banco de dados, um alerta acionado.

Criando o formulrio de login


4 Passo - Com a pgina de cadastro criada, vamos agora ao formulrio de login, que far o envio das informaes para uma pgina php que verificar a existncia desse usurio. Vamos ao cdigo: Listagem 4 - login.html 1 2 <html> <head> 3 <title> Login de Usurio </title> 4 </head> 5 <body> 6 <form method="POST" action="login.php"> <label>Login:</label><input type="text" name="login" id="login"><br> 7 <label>Senha:</label><input type="password" name="senha" 8 id="senha"><br> 9 <input type="submit" value="entrar" id="entrar" name="entrar"><br> 10<a href="cadastro.html">Cadastre-se</a> 11</form> </body> 12</html> 13

Figura 2: login.html

Criando o login.php
5 Passo - Essa pgina ser responsvel por tratar as informaes inseridas na pgina de login e verificar se o usurio inseriu as informaes corretas, e logo em seguida redirecion-lo. Listagem 5: login.php 1 <?php $login = $_POST['login']; 2 $entrar = $_POST['entrar'];

$senha = md5($_POST['senha']); 3 $connect = 4 mysql_connect('nome_do_servidor','nome_de_usuario','senha'); 5 $db = mysql_select_db('nome_do_banco_de_dados'); 6 if (isset($entrar)) { 7 $verifica = mysql_query("SELECT * FROM usuarios WHERE 8 login = '$login' AND senha = '$senha'") or die("erro ao 9 selecionar"); 10 if (mysql_num_rows($verifica)<=0){ 11 echo"<script language='javascript' 12type='text/javascript'>alert('Login e/ou senha 13incorretos');window.location.href='login.html';</script>"; die(); 14 }else{ 15 setcookie("login",$login); 16 header("Location:index.php"); 17 } } 18 ?>

Criando a index.php
6 Passo - Agora criaremos a pgina index.php , que ter duas partes , uma parte pblica, e outra restrita. Listagem 6: index.php 1 <?php $login_cookie = $_COOKIE['login']; 2 if(isset($login_cookie)){ 3 echo"Bem-Vindo, $login_cookie <br>"; echo"Essas informaes <font color='red'>PODEM</font> 4 ser acessadas por voc"; 5 }else{ 6 echo"Bem-Vindo, convidado <br>"; 7 echo"Essas informaes <font color='red'>NO 8 PODEM</font> ser acessadas por voc"; echo"<br><a href='login.html'>Faa Login</a> Para ler o 9 contedo"; 10 } 11?> Pronto, agora voc j tem um simples sistema de cadastro e login para usar no seu projeto, lembrando que isso apenas o bsico e podem ser utilizadas vrias outras tecnicas para validao de login e segurana. Ento isso pessoal, por hoje ficamos por aqui e at a prxima. ;) Cdigo-Fonte

Read more: http://www.linhadecodigo.com.br/artigo/3561/criando-um-sistema-decadastro-e-login-com-php-e-mysql.aspx#ixzz2ocYdsxlQ

You might also like