página de login php + SESSÂO Exemplo 2

Olá galera do PHP!!!
Hoje vamos criar uma formulário de login a onde o usuário tem que se logar para ter acesso ao painel ou seu perfil, mas primeiro vamos entender como isso vai funcionar.
A imagem abaixo mostra como isso funciona:

Bom a imagem não esta muito boa mas acho que da pra entender o que vamos fazer...
crie uma tabela no seu banco dedados mysql chamada  "users_db"

CREATE TABLE `users_db` (
  `IdUser` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(50) DEFAULT NULL,
  `password` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`IdUser`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1


Vamos ao php agora...
1º Passo
Criar o arquivo de conexão "conexao.php"

<?php
$hostname_data = 'localhost';
$database_data = 'test';                         #Nome do db
$username_data = 'root';                       #Usuário do banco
$password_data = '123';                       #Senha do Banco

$cnn_data = mysql_connect($hostname_data, $username_data, $password_data) or trigger_error(mysql_error(),E_USER_ERROR);

?>
Informe os dados de conexão que o seu banco de dados usa e em seguida salve e esta pronto o seu arquivo de conexão...

2º Passo
Criar a página de Login "index.php"
<?php
/*
    Informações de Código
    Desenvolvido por Eduardo Vieira
    Data:16/06/2014
    Email:eduardocobain@bol.com.br
*/

    include('conexao.php');
   
    if (!isset($_SESSION)) {
      session_start();
    }
   
    #Declarar as variaveis como nulas
    $_SESSION['MM_Login']        = false;
    $_SESSION['MM_Username']     = NULL;
    $_SESSION['MM_UserGroup']     = NULL;
    unset($_SESSION['MM_Username']);
    unset($_SESSION['MM_UserGroup']);
       
    if (isset($_POST['bnt'])) {
   
        #Informações para o processamento do login
        $loginUsuario                    = $_POST['txtuser'];    #Recebe o valor do Campo Usuário
        $LoginSenha                        = $_POST['txtpwd'];     #Recebe o valor do Campo Senha
        $Redirecionar_Confirmado        = "home.php";             #Direciona para a pagina quando o login e confirmado
        $Redirecionar_NãoComfirmado     = "error.php";             #Direciona para a pagina quando o login não e confirmado
       
        #Selecionar o banco de dados
        mysql_select_db($database_data);
        #Fazer a pesquisa na tabela
        $sql_Login ="SELECT username, password FROM users_db WHERE username='".$loginUsuario."' AND password='".$LoginSenha."'";       
        $rs_login = mysql_query($sql_Login, $cnn_data) or die(mysql_error());
        $rs_Login_Linhas = mysql_num_rows($rs_login);
       
        #Validar o login
        if($rs_Login_Linhas){
       
            #Opcional Variavel de Grupo e Nome do Usuário
            $loginGrupo = "";
            $loginNome  = "";
           
            #Declarar as variaveis
            $_SESSION['MM_Login']        = true;
            $_SESSION['MM_Username']     = $loginUsuario;
            $_SESSION['MM_UserGroup']     = $loginGrupo;
                   
            #Redirecionar a pagina
            header("Location: ". $Redirecionar_Confirmado);         
        }
        else
        {
            #Declarar as variaveis
            $_SESSION['MM_Login']        = false;
            $_SESSION['MM_frmLogin']    = "index.php";
            $_SESSION['MM_Erro']        = "Erro ao realizar o login verifique o usu&aacute;rio e senha...";
            #Redirecionar a pagina
            header("Location: ". $Redirecionar_NãoComfirmado);
        }
   
    }

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Login</title>
</head>

<body>
<form name="form1" method="post" action="index.php">
  <table width="200" border="0" cellpadding="2" cellspacing="0">
    <tr>
      <td align="left"><b>Usuário:</b></td>
      <td align="left"><input type="text" name="txtuser" id="txtuser"></td>
    </tr>
    <tr>
      <td align="left"><b>Senha:</b></td>
      <td align="left"><input type="password" name="txtpwd" id="txtpwd"></td>
    </tr>
    <tr>
      <td align="left"><b></b></td>
      <td align="left"><input type="submit" name="bnt" id="bnt" value="Entrar"></td>
    </tr>
  </table>
</form>
</body>
</html>

3º Passo
Criar a página  "error.php"

<?php
/*
    Informações de Código
    Desenvolvido por Eduardo Vieira
    Data:16/06/2014
    Email:eduardocobain@bol.com.br
*/
    if (!isset($_SESSION)) {
      session_start();
    }

    if($_SESSION['MM_Login']=="" || $_SESSION['MM_Login']==NULL || $_SESSION['MM_Login']==false){
        #Declarar as variaveis
        $_SESSION['MM_Login']        = false;
        $_SESSION['MM_Username']     = NULL;
        $_SESSION['MM_UserGroup']     = NULL;
        unset($_SESSION['MM_Username']);
        unset($_SESSION['MM_UserGroup']);
       
        $Redirecionar = $_SESSION['MM_frmLogin'];
       
    }
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Error</title>
</head>

<body>
<p><?php echo $_SESSION['MM_Erro'];?></p>
<a href="<?php echo $Redirecionar; ?>">Voltar</a>
</body>
</html>


4º Passo
Criar a pagina do Painel ou perfil "home.php"
<?php
/*
    Informações de Código
    Desenvolvido por Eduardo Vieira
    Data:16/06/2014
    Email:eduardocobain@bol.com.br
*/

if (!isset($_SESSION)) {
  session_start();
}

if($_SESSION['MM_Login']=="" || $_SESSION['MM_Login']==NULL || $_SESSION['MM_Login']==false){
   
    #Declarar as variaveis
    $_SESSION['MM_Login']        = false;
    $_SESSION['MM_Erro']= "Usuário não esta Logado..";
   
    #Caso o tenha feito o login então enviar para a pagina de erro.
    $Redirecionar_NãoComfirmado     = "error.php";
    header("Location: ". $Redirecionar_NãoComfirmado);
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Home</title>

</head>

<body>
<p>Página home</p>
</body>
</html>

Se você tentar acessar a pagina home direto sem ter feito o login ele redireciona para a pagina error.php

Bom é isso ai espero que tenha ajudado... até mais

Comentários

Postagens mais visitadas deste blog

Transforma valor R$ por extenso

Criar um arquivo html com php

Excluir um registro de uma tabela usando php+mysql+jQuery