Como Criar um Sistema de Cadastro com PHP e MySQL: Passo a Passo

Tempo de leitura: 9 minutos

Atualmente, praticamente todos os sites e plataformas digitais exigem um sistema básico de cadastro e login. Portanto, para iniciar sua carreira ou fixar-se no mercado de trabalho de desenvolvimento web isso é fundamental.

Pensando nisso, nós resolvemos criar este artigo com um passo a passo supercompleto de como criar um sistema de cadastro com PHP e MySQL, para que você possa ampliar seus conhecimentos, clientes e sobretudo sua capacidade de realizar novos e mais complexos projetos.

Nas linhas abaixo você vai aprender a:

Mas, antes de começarmos não perca mais tempo e conheça o nosso treinamento completo de Desenvolvimento Web, onde você poderá construir não só sistemas de login! Então, vamos lá?!

Obs.: Para poder criar este sistema você vai precisar ter instalado no seu computador o MySQL, bem como ter um servidor local com suporte para o PHP, a fim de testar o sistema antes de colocá-lo no ar.

Recomendo que instale o xampp para instalar um servidor local completo com PHP e MySQL

Sistema de cadastro PHP e MySQL: como criar a tabela ‘usuarios’

Sistema de cadastro PHP e MySQL como criar a tabela usuarios

Para começar o seu sistema, será necessário criar uma tabela dentro do banco de dados, no exemplo abaixo irei utilizar uma tabela com apenas 03 campos, todavia você poderá criar com quantos quiser – desde que respeite algumas regras que veremos mais abaixo.

Vamos codar:

Create table usuarios (

ID Int UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,

login Varchar(30),

senha Varchar(40),

Primary Key (ID)) ENGINE = MyISAM;

usuarios.sql (tabela de usuários)

Como código logo acima você terá criado uma tabela denominada “usuarios”, cuja qual contém os campos de login (do tipo varchar com até 30 caracteres), senha (também varchar com até 40 caracteres) e o ID (desta vez do tipo INT com possibilidade de autoincremento).

Para que serve cada um destes campos? Bem, vou explicar tim-tim por tim-tim para você:

  • Login: Neste campo será armazenado o nome que for digitado no campo “login” do formulário de cadastro, ele não pode ser repetir ao longo do formulário e nem ser nulo. Todavia, é possível permitir que o usuário altere o mesmo no futuro, caso você deseje. As restrições necessárias deverão ser aplicadas no PHP, como veremos mais abaixo;
  • Senha: Aqui é onde serão armazenados os valores referentes a variável “senha”, que veremos como funciona ao longo do artigo;
  • ID: Aqui é onde nós iremos gerar um número diferente cada vez que alguém se cadastrar, este número serve para gerar uma identidade única para cada login, de modo que ele não pode se repetir nem ser alterado, garantindo assim que ele invalide contas que tentem usar o compartilhamento de ID.

Sistema de cadastro PHP e MySQL: como criar o Formulário de Cadastro

Sistema de cadastro PHP e MySQL como criar o Formulário de Cadastro

Para criar este Formulário de Cadastro iremos utilizar apenas HTML puro, ou seja, sem os estilos CSS. Afinal de contas, servirá apenas para entender o funcionamento do sistema. Caso você queira “embelezar” o seu código com o CSS, veja este tutorial de CSS aqui.

<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>

Página cadastro.html

No código acima nós fizemos uso do “post” para enviar todos os dados para a página PHP. Caso prefira, também é possível utilizar o método GET.

Todavia, é importante lembrar que o post é mais seguro do que o get para enviar informações deste tipo, afinal de contas o GET envia os valores dos campos como parâmetros na URL, ou seja, estes podem ser facilmente alterados por um usuário um pouco mais avançados ou até mesmo se perder nas mãos de um usuário sem conhecimento básico de web.

Sistema de cadastro PHP e MySQL: como criar o cadastro.php

Sistema de cadastro PHP e MySQL como criar o cadastro.php

Uma vez criada a tabela e o formulário, é hora de formar a página do cadastro.php, nela é onde conseguiremos tratar os dados que foram inseridos no formulário para, então, inserir dentro da tabela criada no banco de dados.

<?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>”;

        }

      }

    }

?>

Página cadastro.php

Lembra-se que no começo do artigo falamos que havia uma restrição e que falaríamos sobre ela depois? Pois bem, ela esta na linha 07 deste código que vimos acima, nele temos a verificação ($login ==””//$login == null), o que impede que o campo de login esteja nulo.

Seguindo a leitura do código, na linha 13 encontramos uma outra verificação muito importante, que checa se já existe um usuário com o mesmo nome que se deseja cadastrar, caso exista, será emitido um alerta.

Sistema de cadastro PHP e MySQL: como criar o Formulário de Login

Sistema de cadastro PHP e MySQL como criar o Formulário de Login

Agora que já estamos com a página de cadastro criada, tanto no html quanto no PHP é hora de gerar o formulário de login, através do qual o envio dos dados para uma página PHP, que deverá verificar a existência deste usuário, vamos lá?!

<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>

</html>

Sistema de cadastro PHP e MySQL: como criar o login.php

Sistema de cadastro PHP e MySQL como criar o login.php

E aqui é onde iremos tratar todos os dados enviados pelo formulário de login, verificando se o usuário está correto, bem como a senha, e então redirecionar o cliente para a sua página de destino:

<?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”);

        }

    }

?>

Sistema de cadastro PHP e MySQL: como criar o index.php

Pois bem, com todo o sistema praticamente já criado, o que nos resta é criar a página de destino, que no nosso caso é a index.php. Nela, utilizaremos duas partes: uma parte pública, que o usuário deslogado poderá ver e uma parte privada, onde somente com o login será possível acessar:

<?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”;

    }

Página index.php

No código acima podemos ver que a página responde de maneiras diferentes para quem acessa logado e para quem acessa deslogado.

Pronto! Agora, você possui à sua disposição um sistema de cadastro e login PHP com MySQL bastante simples e fácil de ser implementado em qualquer projeto.

Claro que você pode melhorar e aprofundar muito mais este conhecimento, estilizando seus formulários, valendo-se de outras técnicas de validação e login e por aí vai. Todavia, isto é assunto para nossos artigos futuros, combinado?

Ah, não esqueça de conhecer o nosso treinamento completo de Desenvolvimento Web, e dominar a construção dos mais incríveis e complexos sistemas web da atualidade.