Professional Documents
Culture Documents
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)).
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)
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.
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