criando um sistema de cadastro e login com php e mysql

8
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 também 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. Atenção.: Lembrando que você deverá ter instalado na sua máquina 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 nós utilizaremos apenas 3

Upload: aureliano-duarte

Post on 23-Oct-2015

54 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Criando Um Sistema de Cadastro e Login Com PHP e MySql

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 também 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.

Atenção.: Lembrando que você deverá ter instalado na sua máquina 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 nós utilizaremos apenas 3 campos (você poderá utilizar quantos campos quiser, desde que , respeite alguma regras que serão explicadas).

Vamos ao código:

Listagem 1 - Tabela usuarios (usuarios.sql)

12345

Create table usuarios (ID Int UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,login Varchar(30),senha Varchar(40),Primary Key (ID)) ENGINE = MyISAM;

Page 2: Criando Um Sistema de Cadastro e Login Com PHP e MySql

O código acima, criou uma tabela chamada usuarios , contendo os sequintes campos: login (do tipo varchar com no máximo 30 caracteres), senha (do tipo varchar com no máximo 40 caracteres), e o campo ID (do tipo INT, e com auto incremento.)

Agora segue uma pequena explicação sobre cada 1 dos 3 campos.

Campo 'login' - Armazenará o nome digitado no campo 'login' do formulário (Esse campo não pode se repetir e não podem ser nulos,porem pode ser alterado pelo usuário caso você deseje permitir.) a restrição será aplicada via php.

Campo 'senha' - Armazenará o valor da variavél senha(que veremos mais a frente)

Campo 'ID' - Armazena um código único de usuário, gerado cada vez que alguem se cadastra, dando identidade única a cada login (Esse código não se repete, e não pode ser alterado, podendo causar falhas como invalidez das contas devido ao compartilhamento de ids)

Criando o Formulário de cadastro

2º Passo - Agora vamos criar o nosso formulário html. Nnesse caso não utilizaremos estilos css, apenas um layout simples para entender o funcionamento do sistema (Caso queira saber como estilizar o seu formulário acesse este link: Customizando formulários com CSS )

Vamos ao código:

Listagem 2 - Página cadastro.html

123456789101112

<html><head><title> Cadastro de Usuário </title></head><body><form method="POST" action="cadastro.php"><label>Login:</label><input type="text" name="login" id="login"><br><label>Senha:</label><input type="password" name="senha" id="senha"><br><input type="submit" value="Cadastrar" id="cadastrar" name="cadastrar"></form></body></html>

Figura 1: cadastro.html

Page 3: Criando Um Sistema de Cadastro e Login Com PHP e MySql

Atenção para um ponto importante dessa página:

Estamos utilizando o método post, para o envio dos dados para a página php. Você também pode utilizar o GET, porém, o método POST é mais seguro no envio das informações, já que o métod GET passa os valores dos campos como parâmetros pela URL.

Criando o cadastro.php

3º Passo - Agora vamos criar a página cadastro.php, essa página ira tratar os dados inseridos no formulário de cadastro e inserí-los na sua tabela no banco de dados.

Vamos ao código:

Listagem 3 - Página cadastro.php

1234567891011121314151617181920212

<?php

$login = $_POST['login'];$senha = MD5($_POST['senha']);$connect = mysql_connect('nome_do_servidor','nome_de_usuario','senha');$db = mysql_select_db('nome_do_banco_de_dados');$query_select = "SELECT login FROM usuarios WHERE login = '$login'";$select = mysql_query($query_select,$connect);$array = mysql_fetch_array($select);$logarray = $array['login'];

    if($login == "" || $login == null){        echo"<script language='javascript' type='text/javascript'>alert('O campo login deve ser preenchido');window.location.href='cadastro.html';</script>";

        }else{            if($logarray == $login){

                echo"<script language='javascript' type='text/javascript'>alert('Esse login já existe');window.location.href='cadastro.html';</script>";                die();

            }else{                $query = "INSERT INTO usuarios (login,senha) VALUES ('$login','$senha')";                $insert = mysql_query($query,$connect);

                if($insert){                    echo"<script language='javascript' type='text/javascript'>alert('Usuário cadastrado com sucesso!');window.location.href='login.html'</script>";                }else{                    echo"<script language='javascript' type='text/javascript'>alert('Não foi possível cadastrar esse usuário');window.location.href='cadastro.html'</script>";                }            }        }

Page 4: Criando Um Sistema de Cadastro e Login Com PHP e MySql

223242526272829303132

?>

Obs: Na linha 7 do código acima, temos a verificação ($login == "" || $login == null), essa é a restrição que falamos anteriormente, em que , o campo login não pode estar nulo.

A verificação na linha 13 refere-se à existência de um usuário com o mesmo nome, ou seja, caso o nome exista no banco de dados, um alerta é acionado.

Criando o formulário de login

4º Passo - Com a página de cadastro criada, vamos agora ao formulário de login, que fará o envio das informações para uma página php que verificará a existência desse usuário.

Vamos ao código:

Listagem 4 - login.html

12345678910

<html><head><title> Login de Usuário </title></head><body><form method="POST" action="login.php"><label>Login:</label><input type="text" name="login" id="login"><br><label>Senha:</label><input type="password" name="senha" id="senha"><br><input type="submit" value="entrar" id="entrar" name="entrar"><br><a href="cadastro.html">Cadastre-se</a></form></body>

Page 5: Criando Um Sistema de Cadastro e Login Com PHP e MySql

111213

</html>

Figura 2: login.html

Criando o login.php

5º Passo - Essa página será responsável por tratar as informações inseridas na página de login e verificar se o usuário inseriu as informações corretas, e logo em seguida redirecioná-lo.

Listagem 5: login.php

12345678910111213141516171

<?php    $login = $_POST['login'];    $entrar = $_POST['entrar'];    $senha = md5($_POST['senha']);    $connect = mysql_connect('nome_do_servidor','nome_de_usuario','senha');    $db = mysql_select_db('nome_do_banco_de_dados');        if (isset($entrar)) {

            $verifica = mysql_query("SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha'") or die("erro ao selecionar");                if (mysql_num_rows($verifica)<=0){                    echo"<script language='javascript' type='text/javascript'>alert('Login e/ou senha incorretos');window.location.href='login.html';</script>";                    die();                }else{                    setcookie("login",$login);                    header("Location:index.php");                }        }?>

Page 6: Criando Um Sistema de Cadastro e Login Com PHP e MySql

8

Criando a index.php

6º Passo - Agora criaremos a página index.php , que terá duas partes , uma parte pública, e outra restrita.

Listagem 6: index.php

1234567891011

<?php    $login_cookie = $_COOKIE['login'];        if(isset($login_cookie)){            echo"Bem-Vindo, $login_cookie <br>";            echo"Essas informações <font color='red'>PODEM</font> ser acessadas por você";        }else{            echo"Bem-Vindo, convidado <br>";            echo"Essas informações <font color='red'>NÃO PODEM</font> ser acessadas por você";            echo"<br><a href='login.html'>Faça Login</a> Para ler o conteúdo";        }?>

Pronto, agora você já tem um simples sistema de cadastro e login para usar no seu projeto, lembrando que isso é apenas o básico e podem ser utilizadas várias outras tecnicas para validação de login e segurança.

Então isso pessoal, por hoje ficamos por aqui e até a próxima. ;)

Código-Fonte

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