sexta-feira, 30 de julho de 2010

[PHP] Criando um Sistema de Login

Criando um sistema de login
Por Arthur Bonora



Crie seu banco de dados que chamaremos de 'banco', depois utilizando o phpMyAdmin crie uma tabela chama de 'usuarios', dentro da tabela usuarios crie os campos referente aos dados do cadastro do usuario que você irá manter, em nosso exemplo vamos criar 4 campos: ( id com auto increment e chave primaria), nome, e-mail e senha. O login será efetuado com o e-mail do usuário, assim não precisa ter mais um campo denominado login.


Criaremos então o arquivo de conexão com o banco de dados:


<?php

// Conexão com banco de Dados

$server = "localhost" ; //endereço do servidor, geralmente aplica-se o localhost

$db = "" ; // nome do banco de dados

$user = "" ; //usuario do banco de dados

$pass = "" ; //senha do usuario do banco de dados


$conexao = mysql_connect($server, $user, $pass);

if ($conexao) {

// echo "Conectado com sucesso";

}


$selectdb = mysql_select_db($db);


if ($selectdb) {

// echo "DB selecionado com sucesso";

}


?>

 


 

*OBS para verificar o funcionamento tire as // na frente dos eixo que deixa essas linha como comentário e após verificado o funcionamento coloque novamente para não aparecer as mensagens em seu sistema



Feito isso crie seus formularios, um de cadastro de usuario e o outro de login. Os campos no formulario de cadastro são:


  • Nome (textfield name="nome")

  • e-mail (textfield name="email")

  • Senha (password name-"senha")

    Faça um action deste formulario para 'cadastrousuario.php'






E no formulario de login são:


  • e-mail (textfield name="email")

  • Senha (password name-"senha")

    Faça um action deste formulario para 'login.php'



Agora vamos criar o arquivo cadastrousuario.php que irá gravar os dados do usuário no banco de dados.


<?php


require ('conexao.php');


$sql = "INSERT INTO usuarios (`Nome`, `Email`, `Senha`) VALUES ('$nome', '$email', '$senha')";


$resultado = mysql_query($sql);


if ($resultado) {

echo "usuario cadastrado com sucesso";

}


?>


e também o arquivo que verifica o login login.php.


<?php


include ("conexao.php");


$confirmacao = mysql_query("SELECT * FROM `usuarios` WHERE Email = '$email' AND Senha = '$senha'", $conexao); //verifica se o login e a senha conferem

$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima


if ($contagem == 1) {

include ("painel/logado.php"); //o arquivo logado.php é que autentica o login

require ("painel/index.php"); //pagina inicial do sistema após login

}

else {

echo "Erro de Login, por favor tente novamente";

require ("index.php"); //se login estiver errado volta para pagina inicial para digitar novamente

}


?>


Veja que todos os arquivos que serão acessados após login estamos jogando em uma página com nome de 'painel', por questão de organização.






Agora vamos criar o arquivo logado.php que vai segurar a variavel que vai informar ao sistema que o usuario possui login valido:



<?php

// se login efetivado carrega essa pagina com esta variavel


if ($contagem == 1) {

$acesso = 'ok';

}

else {

echo "Você não esta logado!";

}


?>



Agora para trancar as paginas sempre crie dois arquivos, um será o que será chamado pela url e outro o conteudo propriamente dito, como exemplo a primeira pagina de nosso sistema que é painel/index.php.


Primeiro o arquivo index.php:

<?php


include ('logado.php');

if ($acesso == 'ok') {


require ("conteudoindex.php"); //se logado vai carregar o arquivo de conteudo


}


else {


echo "Não Logado!";

}


?>

E o arquivo que terá o conteudo propriamente dito: conteudoindex.php


<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Titulo</title>

</head>

<body>


<!-- Uma pagina html normal ou com qualquer conteudo que deseje -->


</body>

</html>


Você pode escrever tudo em apenas um arquivo, mas assim torna-se mais organizado.


Para deixar seus sistema mais seguro ao invés de utilizar 'ok' como verificação de acesso, crie alguma expressão dificil e longa como: 'afsd8fas5f4s4fas4f5a4fe5w4fa56w4fe5wefwa'.

Postar um comentário